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.
IRV eliminates C (as it has the fewest first-place votes) and elects B. But voters on the whole prefer C over B (115 to 50). This is the failure that Pinckney refers to.
You mean IRV does not satisfy the Condorcet criterion. IRV is not the only preferential voting system. There are others, e.g. ranked pairs[1] which do.
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.)