Having watched the primary season unfold from a very nice vantage point, I think that the nomination processes would have been better served by approval voting. From a potentially long list of candidates, voters simply vote for as many of them as they find acceptable. The candidate with the most votes wins.
The main advantage of approval voting is that it allows voters the opportunity to express a preference for more than one candidate. The drawback to approval voting is that it does not provide voters with the opportunity to rank candidates within the set that they find acceptable. With approval voting, we wouldn't see primary voters having to worry about "wasting a vote" in expressing a preference for a candidate who has little chance of achieving a plurality. There would be less pressure on candidates to drop out of the race if they don't "win" one of the early states. This is particularly important given how much weight the early primaries seem to have.
I also find it odd that the national parties award delegates in proportion to a state's total population rather than some other measure that considers the distribution of voters across the two main parties. Consider the case of New York. There is almost no chance that it will go for the Republican candidate in the general election, regardless of the nominees from the two parties. So Senator Clinton's victory there tells us nothing about whether she is a more viable Democratic candidate in the electoral college than is Senator Obama. Ditto for Senator McCain.
It seems like a party could get a more viable candidate by awarding more delegates to states that are expected to be more competitive in the general election and fewer delegates to states that are expected to be less competitive in the general election. There is a limit to how much downweighting could be done in a state in which the party is strong--that would encourage state party leaders to discourage turnout, which is unhealthy to say the very least. But some movement in this direction could be helpful.