Need to seperate casting and counting of ballots
The casting of a ballot should be a simple and verifiable action. The voter should be able to "count" his own ballot to see that he actually did the "right thing" (another topic for discussion). The counting process can be "automated" or "manual", but it should be doable by ANYONE who desires. Sure they might take multiple days of time to manually count the ballots, but the same result should be obtained as from an "automated" process.
Yes, some sort of nice paper as the intermediary is necessary for this to happen. It should be both human AND machine readable. For all the flaws, punch cards were human readable, but there was the silly "hanging chad" problem.
There should be no "trade secrets" in either process, and an advance "audit" (if necessary) of ALL the software should be available. Sorry, I really don't trust Diebold.