Earlier quoted context omitted.
The solution is to actually increase the number of politicians so that each district is small enough that you don't need money to get elected (you need districts of about 25,000 voters). The crazy thing is it doesn't even cost anymore money because as you increase the politicians you take away their staff. If you want to know more about this idea see [1]. 1. http://www.thirty-thousand.org
I like the idea. One thing though, this won't work unless people vote. A major reason the system doesn't work well today is because only the most extreme voters turn out for primaries. Even if you reduce gerrymandering, it's hard to eliminate entirely. On the other hand, in smaller districts the electorate will be more likely to share opinions and interests so maybe that counteracts the problem?
The idea is to not solve every problem with democracy, but to remove the corrupting influence of needing to raise money from vested interests to spend on advertising so you can get elected. This is the major problem.