This problem actually deals with roll-overs, I\'ll just generalized below as such:
I have a 2D view, and I have a number of rectangles within an area on the screen.
Here's a guess.
Find the center C of the bounding box of your rectangles.
For each rectangle R that overlaps another.
This incrementally moves the rectangles away from each other and the center of all the rectangles. This will terminate because the component of v from step 4 will eventually spread them out enough all by itself.