There is no perfect solution, but allowing almost unlimited contributions, whatever the reasoning, just legalizes bribery. We might be near the day when one or more of our multi-billionaires puts up a billion to fully finance his favored candidate.
I think a system that allows personal and corporate donations of a reasonable amount (not enough for any donor to be too important to a candidate), and then government matching funds might work.
Term limits eliminates the need to bribe really big amounts to any one because they won’t last long enough in power to be useful to Billionaires.