There are a few ways to be clever on going about it. One as you mentioned is to do a two phase scan one to move and one to correct the bins.
Also instead of a square shaped range you can get a hexagonal range by dividing corner boxes diagonally to two and then checking which half of square the boid is. :)