A server in the middle that acts as a central point.
I get what you are saying, but exposing IP addresses to 3rd parties isn't typically desirable.
Case in point, I don't have your IP address. And you don't have mine.
Sure email works like that (although possibly less so in current era with gmail and such, then again maybe not), but many services don't. Sure, the service provider --- the middleman --- has access to that, but the other users don't.
A solution to a problem isn't necessarily a knee-jerk opposite solution (centralized vs. decentralized) but often some variation of an existing successful model that is slightly flawed, correcting *ONLY* the part that is flawed, not the parts of the service infrastructure that work well.