A better voting system
Here are two paradoxes in voting:
1. You want your vote to count, so you vote for a candidate you think might have a chance to win, which means one of the most popular candidates. Everyone else is also voting according to that philosophy, which means that popularity itself becomes self-magnifying. It gives certain meaning to the statement, "a celebrity is a person who's well known for how popular they are." This serves to: a) give the underdog candidates even *less* of a chance in hell to win, and b) magnify the problem of mere campaign funds determining how popular a candidate is..because campaign funds affect how well recognized a candidate is to start with, and then from there we merely magnify that value. And the funny thing is, your vote's not going to change who becomes president anyway, so you might as well vote for the candidate you like.
2. Let's say you have a republican candidate, let's call him Kodos, and a democratic candidate, let's call him Kang. The voters nearly equally like Kodos and Kang on average, but there's another, independent candidate, let's call him Ralph Nader. The problem here is that the voters who like Kang more also like Ralph Nader. Some of them vote for Nader instead, which means Kodos wins. Why is that a problem? Consider this possibility: 60% of voters want either Kang or Ralph Nader, and don't want Kodos. 40% of voters want only Kodos. The just solution? Give them Kang or Nader (obviously Kang, because he was more popular of the two.) The actual result? Kodos (because, e.g., 35% voted for Kang, and 25% voted for Nader).
There is a single solution to both of these problems.
Make voting a rating system. You get to give each candidate a percentage of preferability, adding up to 100, or at least an order of rankings, and a sophisticated algorithm determines what outcome would satisfy the most people. I'm not sure what this algorithm is..perhaps something like one of the chess rating systems, such as the Glicko system, adapted for this purpose. Chess ratings are based on who beats whom, so in our adaptation candidate X beats candidate Y every time X comes before Y in anyone's list. Whatever the best algorithm is, it might even make the primary elections completely unnecessary, since, e.g., one democrat wouldn't 'take votes' from another democrat.
Alternatively, we could simply use a system where we vote for more than one candidate. No ratings, just put a check mark next to each candidate you like. Or, perhaps, yes's for ones you like and no's for ones you dislike. The latter option seems a little less positive psychologically, mostly since the next president would likely enough be someone you had no'd..however, it seems to be necessary given the two-party system. For example, without no's, most democrats would check every democrat, and most republicans would check every republican. That leaves very little to determine which democrat wins or, alternatively, which republican. If there are no's, however, one could, for example, 'yes' Hillary, leave Obama neutral, and 'no' McCain. This is probably not a big issue, though, if the primaries remain instated.
I just noticed this useful comment -- thanks Sylvain
"Why reinvent the wheel. It is well-known to mathematicians since long ago, that the best voting system to avoid strategic biases, is the Condorcet method."