To let the active gateways themselves determine/balance the load assignment between them, you would need to use Load Sharing Unicast or Load Sharing Multicast (not Active/Active), which as Blason said has major issues with VPNs. For Load Sharing Unicast there is a GUIdbedit variable called . For Load Sharing Multicast I would imagine there are probably some kernel variables that can be adjusted to affect load/connection assignment, but if there are they don't appear to be documented. But generally the Load Sharing modes are not a good idea due their complexity/limitations and I don't recommend them.
The newer Active/Active mode introduced in R80.40 (which is completely separate from Load Sharing) allows an external entity (Maestro Orchestrator, BGP/OSPF, F5, etc.) to decide which member should handle which traffic based on its own metrics (bandwidth, delay, load, reliability, MTU, etc). This would probably be the best way to achieve your objective but you'd have to assign/influence what the loads would be on the external device.
Gateway Performance Optimization R81.20 Course
now available at maxpowerfirewalls.com