There really isn't an easy way to discover a persons IP address through Tor. The problem for you is really deployment. In my (not so professional) opinion, your best bet would be to have each user set up their own hidden service, and the two hidden services exchange the .onion address through a man in middle. Kinda like this:
User #1's .onion => man in the middle => User #2
User #1 <= man in the middle <= User #2's .onion
If you are concerned about DDoS attacks, then you can add some basic anti's in. There are only a few basic attacks that the Tor network can used, as Tor can only use the TCP protocol. In my opinion, many skidds wouldn't bother attacking, because there are not many easy ways to hit a .onion service. No stresser/booter/botnet really supports that kind of thing (or at least I have never seen one in my years as a security analyst).
The real question is, why through Tor? Tor only supports TCP, and your latency will be horrendous. If the amount of data is to big, you might accidentally stress out the nodes as well. These are something to remember when using Tor.