i could throw this idea out:
rather than waiting for a spot to be opened to move someone who is lucky enough to be selected, just move EVERYONE. set the system to exchange player positions every X time period. then no one would have a static good or bad position. plus it would encourage people to do more neighborly visits, b/c they'd be meeting new neighbors regularly.
Something is indeed going on routinely. I was visiting my neighbors (via world map pop up feature) and one of them on my list gave an error when I tried to visit. Refreshing the pop up showed another player in the place that the one I couldn't visit was located.