I have a function that moves circles out of the way of an expanding circle. It moves them along a ray from the center of the expanding circle through the center of the circle to move. This allows all surrounding circles to move without overlapping.
Here's a diagram to better explain this:
You can see a working demo here: http://jsfiddle.net/ThinkingStiff/uLu7v/jsFiddle
And here's the code that moves the circles: