If the links are provided by 3 different ISPs, then you're probably out of luck for what you want.
If all three links are provided by the same ISP, you might be able to ask them to bond the links on their end. What this means is that the ISP will treat all three links as the same source, and route packets to/from your IP along all three. You will then have to set up bonding on your end of the links as well; This will allow you to make use of all three connections at the same time.
You might also be able to take the ISP out of the equation via a custom VPN setup if you have a remote box which is capable of proxying the volume of traffic flowing through it and full control over the OS:
- Configure three ethernet-level VPN connections from a local router to the remote server
- Bond the VPN devices on both ends, such that the proxy will route packets back over any arbitrary VPN link, and the local router will do the same. You can do this with a bridge in linux, or netgraph on BSD.
This will likely have performance implications, is a very complex setup, and requires maintaining a remote proxy handling 2X the traffic load - far from ideal.
P.S., Netgraph is amazing.