For example, let's say that you have the following setup.
More than 50% of your U.S. based clients are going over to one of the two London based servers, rather than one of the four based in the U.S.
The following has been what most have tried in the past:
You configured the "Cloud-enabled Management Settings" policy, since this policy also contains the list of Internet gateways that are available for the targeted client computers to use. You just clone it, assign the desired internet gateways, like the ones in EMEA, using a target with machines in EMEA and keep it local that way.
You see a possible problem with making multiple "Cloud-enabled Management Settings" policies would be the lack of failover. Those two 158.x subnets are the EMEA based Gateways. Three US gateways all have less usage, one is barely used at all.
The question here: Is there a way to balance it out?
ITMS 8.x
Unfortunately, Internet Gateways don't have load balancing. This is the function of a load balancer, if desired. See: Implementing Cloud-enabled Management behind a load balancer
If a CEM client is assigned a few internet gateways then it will roll to a new internet gateway with each new https requests. Thus the agent does the load balancing between all assigned Gateways.
So if Europe CEM clients are assigned Europe internet gateways then all of them will be kind of balanced because every agent will be using all of them.
If US clients are assigned US gateways only then all of them also should be equally loaded unless some of them have connectivity issues and is temporarily blacklisted on the clients.
If US gateway is not loaded fully then this could be due to the connectivity issues - if the CEM client cannot connect to an internet gateway then that internet gateway will be blacklisted for 1 hour and the CEM client will use the next available internet gateway.
You could properly assign internet gateways to US and Europe clients and check gateway's connectivity.