It is a bit messy, agreed. I chose randomization over batches because of the speed improvement. It is probably a good idea to pre-shuffle your data before applying this technique, but I do not expect a strong effect on convergence otherwise.