(None of the following ideas are original, but I believe they deserve greater publicity). There are a number of problems with the current system of selecting a new president of the United States. Due to the electoral college, only the votes in swing states matter, effectively disenfranchising voters from the rest of the country. States like Maine, Nebraska, and Colorado addressed this by splitting up their electoral delegates, but why have delegates at all. From Wikipedia, "The Electoral College dilutes the votes of population centers that might have different concerns from the rest of the country. The system is supposed to require presidential candidates to appeal to many different types of interests, rather than, say, the urban or rural voter only" (http://en.wikipedia.org/wiki/United_States_Electoral_College ). The problem is that in the current system the interests of non-swing state voters can be safely ignored (which happens to be most of the country).
And due to the staggered primaries, only about 6% of the voters get a chance to affect who the main candidates will be in the general election (voters in New Hampshire, Iowa, and maybe South Carolina) because by the time the primaries in those states are over, the losing candidates tend to drop out. Furthermore, people tend to weigh the electability of a candidate in a general election quite heavily as opposed to simply choosing who they would really like to be president. Additionally, primaries are expensive, limit choices, and effectively shut out third party candidates.
I support a better alternative - do away with the electoral college so that every vote counts, and do away with the primaries. The concern with having no primary has been that there would be too many candidates for the general election, effectively splitting the votes into small fractions, wherein no candidate would obtain a clear majority. If we declared as the winner the candidate with the most votes, he or she might only represent the desires and interests of a large minority. People would still need to vote for the candidate they believe has the best chance of beating their opponent as opposed to simply voting for who they really want. That problem could be remedied with a run-off election, but that would make the first general election a primary.
But, there is a way to hold only one general election, and yet select the candidate who appeals to the majority (i.e., greater than 50% of the voters). This could be done with a rank-order election. Each voter would be given a ballot with the names of all the candidates. The voter would only need to give a ranking to the candidates they would want as president. Out of just the candidates that the voter wants, the voter would rank order their preferences by placing "1" by their favorite candidate and "2" by their second, and so on for as many candidates that they want to give a ranking to. The votes are tallied by counting the total number of "1" votes each candidate has. If one candidate has more than 50% of the "1" votes, then he or she is the winner. However, if no candidate has more than 50% of the "1" votes (which is quite likely) then the two candidates with the most "1" votes advance to the next round. Then, for each ballot, the candidate among those two, who received the highest ranking, gets 1 vote. The results are tallied, and the candidate with the most votes wins.