Also curious if anyone has any ideas how to fix this, other than the ways I described.
So money can be considered a form of "speech" in the most liberal forms of democracy and I'm generally okay with it.
I agree with your idea of capping contributions, here are some that I'd also support:
Political contributions are all public, no anonymous donations.
Corporations cannot donate directly on behalf of a candidate, individuals of a corporation are of course exempt (ie board members).
Cap political contributions but also adjust yearly for inflation.
Contributions must be spent only towards campaign towards individual campaign expenses and cannot be stowed for other elections of other politicians.*
*Doing this would prevent one politician from having too much financial power. Say you're Donald Trump and have 100M USD in campaign donations that's ready to be injected into political campaigns of other people, you own everybody else.
Granted every country's laws are different, making a few basic stipulations you can have money in politics without too much problems.
Side note - I suppose there is nothing stopping an individual from registering a business, pouring his money or someone else's money into media campaigns on behalf of a candidate to bypass some of the stipulations I've made above, but I guess there could be laws to address this too.