Only persons legally registered to vote for someone running for federal office or holding a federal office may donate money or anything else of value to the person running for federal office or currently holding a federal office".
This would never pass, of course, but if it did it would fix a lot of things.
I’d be more assured if there were at least means testing in order to register to vote.
Let the lobbyists and others spend their donations as they wish.