I may be looking at this too simply, but the problem seems simple to me. The largest issue with money is politics is not at the presidential level but at the Congressional level as this is where the laws are passed. So the first step would be to put in jurisdictional fundraising for Congressional (both house and senate) seats. That is a person can not raise money from outside the district in which they represent.. Provisions can be made for companies/unions that have employees living within a district. As an example, I live in Ohio and I could therefore only give money to my House rep ( J. Jordan) or the person running against him. As well as I could give to Portman or Brown. However, I could not give money to Pat Toomey to run for Senator from Pennsylvania.
The next thing, and more than likely the most important, is a tax system that does not allow congress to issue tax “loopholes” to companies or individuals that they like or tax penalties to those that they do not like.. Be it a flat tax or a fair tax, it must remove the power of congress to continue tax as they see fit but only tax in an “equal treatment under the law” system.
These two steps, at least to my way of thinking, would put all politicians and private individuals on equal footing.