Yeah, it would need to be designed and tested carefully. Rather than formatting around things, I would probably be fine with something simple like overlaying the previous layout in a small disk area under the cursor. So if a button shifts down, you'd see it shift down, but there would be a copy of it still under your cursor, which would fade on its own after a short period.
Alternatively, we could disable clicking/selecting anything that wasn't visible for at least 200 or 300 ms at that location. So if you try to click on a button and it's shifted down or something pops up in front, and you end up clicking on that instead, your cursor would just blink red.