In fact, I've often suggested that the real solution is this. Elections and the electoral system are in the public interest, so why not fund it 100% publicly? The FEC sets aside a budget for anyone who gets a certain number of signatures of endorsement. They can spend that, and only that. They get a set amount of time on all TV stations. Nobody is allowed to donate publicly or privately. Elections are argued on their merits not on their budgets.
If it's shown to benefit a candidate, it's a crime, and you face civil and potentially criminal penalties.