But the Constitution guarantees all persons equal rights under law, so the idea that people with more money have more of a right to be heard runs contrary to that tenement.
Equal rights, yes, but not equal outcomes. Everyone has an equal right to speak. That doesn't mean anyone has the right to demand free access to someone else's platform, or to make others listen. Those are things you have to negotiate for on your own, and money is one perfectly legitimate way to do that.
Free speech is really just one aspect of the more fundamental principle of self-ownership, which includes not only the right to speak freely but also the right to dispose of your own property as you see fit. The focus on free speech, while important, is far too narrow. You should be able to legally donate your own money to the individuals and/or organizations of your choice even when it has nothing to do with freedom of speech.
The real problem here is that people are easily influenced on things which do not immediately impact them, and yet are encouraged to vote on such issues anyway. Instead, people should have an absolute veto in regards to exactly those issues which negatively impact their rights—where they have both legitimate standing and a direct stake in the outcome. In other words, Unanimous Consent. That way, people don't need to be experts on everything, just those things which concern them. It would mean that politicians would need to work much harder at gaining consensus from everyone affected, rather than mere numerical superiority within a select group of so-called "representatives" who are rarely personally impacted by the bills they pass.