Load balancing question

Is it possible to load balance somehow with bandwidth shaping to get desired speeds on each line? Or is it only possible by weight using gateways more than once?

We have 3 WAN connections so would be nice if it was possible by speed of each WAN.

WAN 1: 5MB/512KB
WAN 2: 5MB/768KB
WAN 3: 3MB/768KB

As you can see it’s going to be a bit difficult to load balance by weighted for speeds such as this. So is it possible to load balance by the speed of each WAN like routers like Edimax does?