I agree with you that voting systems represent a root-level problem (and in particular that first-past-the-post causes the two-party system, per Duverger's Law), but IRV is pretty much the only voting system worse than first-past-the-post. It allows people to vote for a third party, but completely ignores their preferences among other parties until eliminating that third party; thus, it does a good job of convincing people to vote third-party, but actively works against the preferences of people who do so.
> completely ignores their preferences among other parties until eliminating that third party
I'm afraid I don't follow. Eventually, the third party either wins or is eliminated, and then the preference between the two main parties is effected. Am I missing something?
With IRV, you express a ranked preference between candidates, but IRV ignores all preferences other than your first choice until your first choice gets eliminated.
Simplest example: suppose you have three parties, A, B, and C. A and B represent the two primary parties, and C represents a third party, which tends to draw more voters from B than from A. C voters would prefer B over A, as the lesser of two evils. (Think either C=Green B=Democrat or C=Libertarian B=Republican.) With first-past-the-post, most C voters will vote B to make sure A doesn't win. IRV wants to make it reasonable to vote third-party by allowing C voters to vote CBA. However, this has at least two major problems.
First, with votes like CBA, IRV ignores the preference for B over A until C gets eliminated. So, as long as the third-party C has fewer votes than B and A, the third-party votes get ignored as expected. But if the third-party actually gets enough votes, which IRV claims to encourage, then B will get eliminated first, followed by C, then A wins. So, C voters ended up hurting their preferred primary party by voting third party, exactly the situation IRV claims to avoid.
Second, IRV ignores compromise candidates: if both A and B voters would prefer C over the opposing party, IRV will still eliminate C because not enough people had it as their first choice.
Both of these problems occur because IRV ignores preferences beyond your first choice until your first choice gets eliminated.
(That leaves aside all sorts of other crazy problems, such as monotonicity failures: sometimes, ranking a candidate higher can cause that candidate to lose when they'd otherwise win.)
Take a look at some of Wikipedia's excellent articles on voting systems for more details on some of the criteria used to evaluate voting systems. IRV fails quite a few of the important ones.