Pay politicians more money.
I don't know whether this would achieve the intended result, at least in federal politics. Members of Congress make, at a minimum, $174,000 per year, in addition to a large package of benefits that includes a generous pension. Anyone who can get elected will earn enough to support themselves. (There's a good argument for paying them more as a safeguard against corruption, but that seems less relevant to the OP's question.)
The trouble is that there are high barriers to entry. Running for office as a non-incumbent usually involves both a lengthy period of campaigning and a substantial chance of losing. Paying officeholders more will increase the expected value of running for office, but that doesn't encourage anyone to run unless they can afford the downside risk.
Remember that on that $174,000 per year, you have to maintain not one but two residences - one in your district and one in The District. If you want to bring your family to Washington with you (which seems preferable to only seeing them on weekends), you'll have to put your kids in private schools and your spouse will probably have to leave whatever career they had before you were elected. There's a big financial opportunity cost to serving in Congress.
Cant a craftsman, union leader, nurse, farmer, social worker or public administrator be accomplished and intelligent? Some of you seem to equal intelligence to financial success.
No. The US is too complex and power in the Western Hemisphere is too centralized to have a pipe-fitter in the federal chambers of government. The welders, union leaders, farmers, teachers, nurses, soldiers, athletes, bus drivers, etc can all run for state office, where they are only responsible for a few million people.
Too complex, then, for a sports reporter (Palin) or a B-movie actor (Reagan), whose entire job consists of being able to read cue cards that someone else wrote for them.