Absolutely, but my plan would ban government employees as well. Your average schoolteacher would argue (and not without merit) that her salary is not a handout -- It is however, government money and therefore would require she be barred from voting. This would also eliminate any political activities from government unions as they would not have a means of voting themselves a pay increase.
I would exempt active duty military from this as the military is one of the few things allowed in the Constitution
While I understand your sentiment, by your logic no one serving in the armed forces would be allowed to vote either, or anyone working in the defense industry, etc etc etc.
What about postal workers? That's allowed in the Constitution.
Also, the Constitution allows your example (schoolteachers) as well. The Constitution does not allow the Federal government to run schools, hire teachers, etc., but it certainly does allow the states to do so. And because teachers are paid by the states (and localities), rather than by the Federal government, what is the justification for prohibiting them from voting in Federal elections?
Also, what about people who work for defense contractors (and others who may be employed by a private entity, but whose paycheck depends entirely on a government contract of some sort)?
Your plan is one that sounds nice in theory, but is practically unworkable.