That is a very handy trick to know.
Presumably you could increase the randomness by using a different, randomly chosen (from the set of numbers that work for the given size) feedback number for each overall loop? Or even just start on something other than 1? (unless starting on 1 is necessary?)
It's also the best explanation of the bit operators I've seen too, I can never get the hang of those.