To me the best solution is to eliminate campaign finance from everyone, have public finance only, forbid any type of gifts (lunch, trips, etc) from lobbyists.
It might work, but of course the problem is that it would violate the First Amendment. Political speech is particularly protected for obvious reasons.
My solution is a different form of government. I could be wrong, but I really think that a Parliamentary System of Government would be better. The PM seems to be much more responsible to his people than the American President. So, if he is doing a good job, he keeps it and when he does a bad job, he is removed. It just seems to make sense to me. It also seems to promote a multi-party system and force compromise between the parties. Seldom could you end up with a PM that was as divisive as say Bush II or Clinton. The requirement of compromise seems to force real debate and less rhetoric.
Of course, as an old philosophy major, I agree with Plato that the best form of government is a benevolent dictatorship, but I'm not sure we could find someone who would remain benevolent.