There is one way to make online voting secure that hasn't been discussed here: make the votes public. Publish a full list of who voted online and who they voted for. You could then vote online publicly or in person privately.
It isn't ideal, but it would remove any doubt.