Preferential voting solves all these problems. You vote by ranking the candidates on order of preference. If your top candidate does not win the vote goes to next guy down the line until eventually it ends up for one of two candidates.
Preferential voting does not satisfy the Condorcet criterion. http://en.wikipedia.org/wiki/Instant-runoff_voting#Voting_sy...
Under ranked pairs, each pair of candidates is considered individually, largest majorities first.
In bradbeattie's example we have:
C > B: 115 votes
C > A: 85 votes
B > A: 85 votes
So the group preference is C > B > A and C wins.Ranked pairs fails the participation criterion[2], but it is still possible to vote tactically in a way that guarantees you will not harm your first-choice candidate by participating (since if your first choice is A you can rank A first and all the others joint second. Similarly if your goal is to prevent C from winning, you can rank C second and all others joint first.)
[1]:http://en.wikipedia.org/wiki/Ranked_pairs [2]:http://en.wikipedia.org/wiki/Participation_criterion