Here's the solution:
We have a lottery. Everyone's in it. No opt out.
Every couple of years we draw names. There's a national lottery, a state lottery, one for the county, one for the city, one for the school district, each drawing on a pool of residents of the jurisdiction.
The prize? The names drawn have to serve in the legislature, county board, city council, or school board.
The grand prize? President of the United States.
I don't see how it would be any worse than the system we have set up now. Yeah, you might get the grease monkey down at the garage for President, but what the heck? He might turn out all right.
Oh, yeah, I forgot. The pool is only made up of property owners who are current on their property taxes.
And since we're not gonna shrink the size of government anytime soon, the only solution I see is constant vigilence. Here in Pennsylvania, the legislators tried voting themselves an illegal pay raise and had to repeal it and still are in jeopardy. It's funny how the poohbahs can waste billions on influence peddling and nothing is done to them even though that costs taxpayers a lot of money - but vote themselves a $15,000 pay raise and all hell breaks loose.
It shows the average Joe has a long way to go to understand what the real issues are here.
If we can't get money out of campaigning, I'll go with your method.