The "round-robin" scenario can become pretty complicated pretty quickly. I've considered it before, and may again, but you have to consider that tables can be manipulated at any time, and that players can be unseated, their buy-ins can be undone, they can be removed from the tournament, players can be moved, etc, etc, etc. Any of those things happening during the buy-in period of a tournament throws a monkey wrench into the process. Randomly seating, which is what most people want anyway to deter cheating or the impression of cheating or biases, doesn't get any more complicated when you make changes to tables/seats/seating/players, which makes it even more ideal.
The best thing to do, in my opinion, is something like Seitz333 suggested. If you know how many people will be coming, plan for that number. Remove seats or make seats unavailable to achieve early balance, leaving room for latecomers.
I am looking into different seating scenarios and how they could be implemented.