Each voter picking at random will get you almost exactly 50/50 every time, because the sample size is so large. The expected variance goes with the square root of the sample size, so with 100 million voters, you'd expect the outcome of each voter choosing randomly to be about 10,000 off from exactly 50/50.
Here's a quick Python snippet to test it empirically:
print sum(random.randint(0, 1) for x in xrange(0, 100000000))
(I strongly recommend using pypy to run it. CPython takes
forever to complete.)
With 8 runs, I got these results:
49995906
50003341
50009287
49996048
49996424
49993962
49989590
50002171
All of which require at least two decimal places in the percentage to be distinguishable from 50% each way.