The problem, of course, is that the Republicans have adopted the Democrat strategy of buying our votes using our own money. The way to end that is to stop voting for politicians who give away our money, even if it is going to us.
If you have ever applauded when your Representative brings home a Federal highway project or flood control money, you are just as guilty as the Representative. If you have ever voted for a candidate because he promised to protect or expand a particular program that you happen to benefit from, you cannot object when he and all his buddied vote to expand some other program as well.
We have to insist on candidates who will reduce spending, reduce taxes, and reduce the scope of government. Then all these other problems will go away.