Yesterday's decision on campaign finance is wrong (PDF), and wrong rather in the way that all of the decisions approving of "separate but equal" were wrong (and that is not at all an irrelevant comparison): The foundational decision — Plessy for "separate but equal" — was wrong when decided, and building further doctrine on top of that is unlikely to lead to truth or justice... even when it leads to the common law.
The foundational decision in this instance is Buckley v. Valeo, 424 U.S. 1 (1976). (In an irony that will go all too appreciated by those who are suspicious of anonymous political contributions, Buckley is one of the rare longstanding Supreme Court precedents that is per curiam — that is, "by the Court" with no justice claiming authorship.) Buckley declares by effect, if not in so many words (thanks to rather masterly obfuscation apparent throughout the opinion, which avoids confronting the fact of political corruption by characterizing everything relating to corruption as a "concern"), that expenditure of money doesn't just enable speech... it is speech in and of itself. It is not mere conduct, or expression of support, or anything else; spending money is, at its core, speech.
A constitutional amendment sufficient to overturn McCutcheon could be very simple and comprehensible:
Expenditure of money or application of other economic capital does not constitute speech under the First Amendment to this Constitution, and may be regulated in electoral and related contexts upon good cause shown.
That's not to say that there are neither loopholes nor potential for abuses in there; it might be theoretically possible, for example, to regulate campaigns out of existence under that language. Presumably, courts would eventually get around to dealing with the quality of cause shown for those regulations... but then, it took six decades to get around to dealing with the utter absence of cause in Plessy, so perhaps I'm too optimistic.
It's a difficult problem, in some senses. I am not saying that The Rich don't have a right to have input into the political process; we all do. The problem is when non-merits-based measures — such as how much money one can afford to expend on politics seeking a particular result — act to drown out the voices of those who cannot compete with those same non-merits-based measures. One need not go so far as "hate speech" and "political correctness" doctrine at their worst to recognize that a coordinated cacophany from a well-funded brass band can thoroughly drown out two violists playing Bartok in the corner of the public square. Chief Justice Roberts' opinion utterly fails to confront what speech is.