I've always wanted to vote for alternative or underdog candidates, such as the Libertarian party, but typically what happens is the two primary candidates are so neck and neck that taking votes away from one primary candidate, by selecting an underdog candidate on principle even though you know they won't win, would push the other primary candidate, who you despise, over the top.
I was thinking, a solution to this dilemma would be to vote twice, or more specifically a secondary vote. Basically you would mark a primary and secondary choice on the ballet, and if the candidate you selected with your primary vote looses, your vote would then rollover to whichever secondary candidate you selected. For example, my ballet would look like this:
(P)(S):
(_)(X) - Obama
(_)(_) - Golden Tablet Boy
(X)(_) - Ron Paul
Would it take an amendment to the constitution, or just an act of congress, to do this?