This whole idea of having the All Star Game, an exhibition game in the schedule, determine home field advantage for the World Series has been ridiculous since day 1. Thank you Bud Selig.
The game needs to go back to being just an exhibition. This much is true. Something also needs to be done about the National League's 13 game losing streak. If the game is going to mean something, it needs to be more balanced.
Do away with the current structure. This idea kind of plays on Bud Selig's sense of logic. No more National League vs. American League. No more winner gets something. Play it gym class-style. Have one ballot, pooling all the potential starters into one vote (that is, one vote for each position). Vote for 2 Catchers, 2 Shortstops, etc. Get your 2 winners at each position (6 outfielders), the best of the rest, the best pitchers, and whatever it takes to get a player/pitcher from each of the 30 teams, into a 64 player pool (I believe the current rosters are 32 players on each team). Then have the managers split the pool into 2 arbitrary teams.
It won't have the same NL vs. AL theme, or something like the NHL's experiment of North America vs. the World (same thing done at the Future Stars game). It'll be purely a random exhibition seeing the best players split evenly. The result shouldn't matter, why should the teams.