They all get put under the tree and you unwrap them together.
The surprise is still there because we all suck, more or less, at giving perfect presents even to people we know since years.
So everyone is always a bit surprised about the presents everyone bought for themselves.
You also save an insane amount of money and considerably reduce or actually remove the stress of present-buying before Xmas.
What this leads to, over time, is that you understand much better what everyone likes.
And then, randomly, throughout the year, when you see something that you now understand someone will really like, you buy it and stash it as the bday present for that person.
I.e. only positive outcomes.
The above approach excludes kids of of course -- they still get presents from everyone.