I think the issue is that the uplinks probably aren't in the ideal configuration for HA, as well as the fact that you apparently can't do 3 uplinks on an MX. It would be best if we knew what your topology looked like exactly.
Ideally, you'd bring circuit A into your switching on VLAN X, and attach both MX's primary uplinks to the switching on VLAN X. Repeat for circuit B, on VLAN Y, with the MX's secondary uplinks also on VLAN Y. This would utilize a switch stack, with each circuit on a different stack member.
This allows either MX to operate on both circuits, via VRRP.
This is problematic however if your circuits do not have at least a /29 allocated, because VRRP won't have enough enough addresses.(Network ID, broadcast, gateway, MX 1, MX 2, VIP = 6 IPs)
The 3rd circuit would have to go on some other device, so I imagine that and the above are why you're in this situation.
But back to your API query, you're probably in the same situation I am, in that the data from DeviceSwitchPortStatuses is on approximately a 5 minute refresh: https://community.meraki.com/t5/Developers-APIs/How-frequently-are-switch-port-status-packets-update...
So that has the same problem as the 5 minute webhook delay, meaning automating quick custom failover using the API is basically off the table.
I'd suggest not removing the 3rd uplink, just move it to the standby MX. Worst case scenario, you just have to manually fail back to the primary, instead of getting stuck with the primary using the 3rd (and presumably worst) circuit. (I'm assuming your uplink preference is MX 1 uplink 1, MX 2 uplink 1, MX 1 uplink 2).