My company uses a very simple system. Each team gets assigned an area that only they can book. For example a team of 15 people get a cluster of 10 desks. That solves it.
Thinking about it, why stop there? Negative desking is the future. A team of 15 could have -15 desks (or less, if they are high performers). Super efficient.
Of course, neither of us nor the company really has hard knowledge of what is "more efficient", because despite being entirely driven by profit metrics and A/B testing there is still no real way to measure productivity for knowledge workers. And even if there was, employee misery wouldn't be part of the metric unless it measurably affected retention.