If you are able to evaluate the link quality, why not to set the distance metrics according that?
Good point, if you already know who is the main ISP you only have to assign it the lowest metric.
Example:
[admin@Router] > ip route print
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 A S 0.0.0.0/0 [IP GW main] 1
1 S 0.0.0.0/0 [IP GW bk ] 2
Then you can do something else, you can set the "check-gateway ping" for both conections.
In your main ISP, i see that you don't have any trouble... you already did it.
But with your secondary (the cell) you should do this:
add dst-address=8.8.8.8 gateway=[IP GW bk ] scope=10
add distance=2 gateway=8.8.8.8 check-gateway=ping
So... when you send any request to 8.8.8.8 it will be always by the GW BK. Then you have to set 8.8.8.8 as a Gateway (to get a reference IP) and you can now set check-gateway=ping
That is a homemade and easy way, but i recommend you to read about vrrp that is what you need to apply in this scenario.
http://wiki.mikrotik.com/wiki/Manual:VRRP-examples
Regards.