Fans vote for certain starters, and can vote as often as they want for whomever they want. That rewards exciting players, but also enthusiastic fans. (And, on occasion, ballot stuffing.) Certainly a “one fan, one vote” system would be more fair, but it may not be worth the effort and anyway fan frenzy is sort of the point. It’s a weird system but it tends to work well enough.
Besides, it’s just a game, and it’s not like we’re picking the president this way.
No, unlike MLB All-Star fan voting, we have a “one person, one vote” rule for electing the president. That’s obviously more fair! But take a closer look: also unlike MLB All-Star voting, not all votes for president tend to count equally. That’s very obviously worse.
Registered voters in 50 states plus DC cast their ballot not for a presidential candidate but for the slate of electors of that presidential candidate’s party. Unlike MLB All-Star fan voting, the winner of the most total votes cast by actual voters for president is meaningless.
As a consequence, candidates only campaign in states where they know the number of votes for each candidate will be close That’s bad for the rest of the country (and maybe even for the voters in those states). The person who wins the most total votes cast may not be elected president (which is happening more frequently). That’s bad for all of us.
Voting for MLB All Stars is not totally fair. (Really, how could it be?) Snubs will result, but we basically expect that.
Voting for president ought to be totally fair. Voters should not be snubbed. We expect every vote to count.