Are you saying that collection jobs are not being load-balanced when failed collector recovers? There is an option "LoadBalanceOnCollectorRecovery" for virtualization extensions which control this behavior. It should be enabled by default and when collector recovers all jobs should be re-balanced.
If load-balance is working properly, but you want collectors in one region to pick-up jobs only from the same region - for such kind of purposes we have monitoring groups. You can configure regional monitoring groups and only collectors in this group will pick-up collection jobs from failed collector.
If you have only one collector per region, I think I would recommend to deploy stand-by collector in the same region and use monitoring group to limit the scope of failover.
Out of the box, our collector cannot detect that it's operating on a slow vSphere connection, for collector there is no difference between WAN link and just old and slow vcenter server.
There is PowerShell module in v6.0, so theoretically you can have a script that checks if there is a collection working over WAN links
Let me know if I missed something.