Perhaps we let too many people vote already? The average American isn't just a little uninformed, but is provably wrong about a number of issues, like what the government spends its money on, who holds the power to do various things, and the resources and governments of our neighbors.
Heck, I'd bet that a non-zero percentage of voters don't even understand how the marginal tax rate works.
We don't let unqualified people fix our cars, work in our hospitals, or teach our kids, so why should they have the ability to make our political decisions?
Society has plenty of ways to accredit people to be 'knowledgeable' about these subjects (Basic civics test -> high school diploma -> college degree -> Degree in econ/poli sci -> masters -> phd, or perhaps business owners, workers in gov't service, etc).
We already treat voting as a privilege, not a right, (It can be taken away, as with felons) why not weight votes based on your investment in learning??
Obviously this plan is harebrained in that it would massively disadvantage everyone other than upper class white people, and probably lead to a civil war, but it's interesting to think that voting is probably the one place in society where are an objectively recognized expert in the field (I'm thinking more on the Econ side than the Poli Sci side) has exactly the same say as someone who just picks one at random.
The whole idea that some privileged group has the ability to say whether I can vote makes me a little uneasy, so personally I think I'd give a firm no to the idea.
If you're interested in the idea, the economist Bryan Caplan wrote a book called 'The Myth of the Rational Voter' that discusses the common fallacies and provides hard evidence.
He also has the single ugliest web page that i've ever seen for an academic (a high bar indeed):
However, like you, I find it difficult to think of a non-corrupt test. You certainly don't want SAT scores to be a precondition for voting.
Perhaps in order to vote you have to get x (say 100) people to sign a petition for you? Of course, community leaders would quickly get a pool of 100 people to sign for whoever they wanted. You might be able to prevent that by limiting the number of petitions signed by a person in a given time span.
One way that I can think of to do it would be like so:
Start a person at, say, 0.6 votes at 16.
Voting in a state or national election = +.1/year, up to two times.
Graduation High School or getting a GED = +.1.
So a motivated 18 year old has 1 vote, just like now, slackers are a little behind but not much.
Graduating College, OR 3 Years of Military Service, OR Passing a (Somewhat tough) Written Test of Govt/Econ/International Studies = +0.2
Graduate Degree OR 8 (total) Years of Military Service OR Passing a (LSAT Difficulty) Written Test = +0.2
Graduate Degree in Econ/<Whatever Gov't Applicable Majors> OR 2 Years Gov't Service = +0.1
So a college grad is worth +20% of a 'normal' adult, but twice a high-school dropout nonvoter who's put no effort into it. And someone with a PhD in Economics is only a third of a vote ahead of a college grad, but worth 1.5 18- year-olds, and 2.5 people who've never voted.
Hopefully by keeping the military/service side roughly equal, we could keep the ideological balance about the same.
Intelligent, Motivated non-traditional people, especially those too poor or busy for college could still get to the highest ranks without any cost other than proving that they understand the basics at rough parity.
You're going to get crackpots with degrees/credentials just like you do now, but I'd argue that as a whole, educated people make better decisions with respect to politics (even, I would go so far as to say, in a party agnostic way), so the bad eggs will cancel out.
I'm a voting, high-school educated college dropout myself, but I'd definitely go and learn whatever I would need for the highest level, even if it took a few hours a week for months/years, but I'm also unusually interested in the subject(s).
Once again, the idea is nuts and would never work in the current system, but there's nothing wrong with a little thought experiment =).