Zero-based counting works better with modular arithmetic. Like
arr[(i++ % arr.length)] = foo;
Is certainly nicer than the equivalent in one-based subscripting arr[(i++ % arr.length) + 1] = foo;
(The above is actually wrong, which helps the idea)I'll concede that it's not all that significant as a difference, but at least IMO it's nicer.
Also could argue that modular arithmetic and zero-based indexing makes more sense for negative indexing.