Recently I had an idea about how to go at this: The elephant in the room is that you're trusting a single for-profit party with the accuracy of the result. If you want to assure much more tamper-proof results, the key would be making this an adversarial task between a voting and a verification machine. Have a voting machine count the vote and print a receipt. Standardize an interface between the voting and the verification machine which is a transparent plastic window where the voter can physically view his choice before pushing the button at the verification machine that draws in the voting ticket, verifies the vote, counts it again and stores the physical paper for retrieval (and regular, infrequent audit).
Make the voting and verification machine vendors adhere to the standard interface, let them face steep penalties for any deviation between voting and verification result, forbid any common ownership between the companies and never let any of these companies supply more than 50% of machines for any given election.