If the MLB All-Star Game is going to count for something, fans shouldn't vote. It's that simple. Once Bud Selig determined that the game would determine home field advantage for the World Series, he turned an exhibition into a meaningful event.
Right now, Arizona Diamondbacks first baseman Paul Goldschmidt trails Cincinnati Reds first baseman Joey Votto in fan voting, and will likely have to be voted in as a reserve to get to Citi Field next month. In the grand scheme of things, that's not a big deal. Votto is having an exceptional year and is a former MVP, so if he gets say one more at-bat than Goldschmidt, who cares right?
On principal, Goldschmidt should be the NL starter. He has almost single-handedly (17 home runs, 62 RBI and .422 batting average with RISP) kept the D-backs in first place in the National League West and is having not just a special season, but an MVP-type season at age 25.
If the game means something and the goal is to put the best players on the field from each league to determine home field advantage, why will Goldschmidt have to start the night in the dugout? The reason is the fans.
It's not indictment of the Joe Schmo who sits on his couch voting endless amount of times, as much as it is an indictment of the league. Plain and simple, if the game counts, don't leave it up to the fans. The players/coaches have a stake in the game, they should be the only ones to vote.
And if they did, something tells me Goldschmidt would be honored with a title greater than 'America's First Baseman'. Try starting first baseman for the National League All-Star team.