Somehow this reminds of Von Nuemann's trick. Take a coin, even a biased coin, and then (with H = heads, T = tails) :
HT => 0
TH => 1
HH => discard
TT => discard
It's pretty surprising at first, but this leads to a perfectly random and balanced distribution of 0s and 1s.