> Of course, this does give steam your users' IP addresses.
A rendezvous is unavoidable, even for UDP P2P. The hole puncher server would be the rendezvous -- or the STUN (P2P) / TURN (TCP) server if you wanted to make the smarter choice and use an existing protocol. Either way, the rendezvous gets the IP no matter what.
The only way to avoid leaking the IP to some middle party is to use port forwarding and manual communication of the IP.