In today's Republican primaries, the voters will be able to choose between two RINOs. That's partly due to a divided field of more conservative candidates and partly because the best of them (Fred Thompson) wasn't taken that seriously. One way to prevent that in 2012 is for the Republicans to adopt Approval Voting. In Approval Voting, a voter could vote once for each acceptable candidate. In other words, instead of having to choose between Mr. Okay and Mr. Ideal-But-Doesn't-Have-a-Chance, you could vote for both instead of voting for Mr. Okay in order to block Mr. Dreadful.
If the Republicans had implemented that in their primaries this year, I suspect that we would have seen lots of Romney–Thompson, Giuliani–Thompson, and McCain–Thompson votes.
Approval Voting has the advantage of opening the door to the less compulsive. At present, it's necessary to start a campaign well in advance and raise lots of money simply to be put in the category of “Has a Chance.” Approval Voting will enable people who don't necessarily believe in political power to get votes.
On the other hand, according to the Arrow Impossibility Theorem, no method is perfect.