Many people use it and do not complain
Just try it.
Ok, I'll try explain about second method.
Make sure that your internet-connections don't use "Add default route".
To avoid problems, use the public DNS on the router, like 126.96.36.199.
Choose four ping-hosts for check an internet accessibility (2 hosts for each ISP).
Those addresses will be available only through one of the ISPs.
While the router can ping at least one of the two hosts this route is enabled, otherwise, the route turns off.
My choice is four stable public NTP servers.
You can find here http://support.ntp.org/bin/view/Servers ... imeServers
Further, we have to use an ip-address in the GW of each ISP.
Suppose GW of my ISP1 = 101.x.x.1
and GW of my ISP2 = 202.x.x.2
Create static routes.
add dst-address=188.8.131.52 gateway=101.x.x.1 scope=10 comment="Static PING way by ISP1-host1"
add dst-address=184.108.40.206 gateway=101.x.x.1 scope=10 comment="Static PING way by ISP1-host2"
add dst-address=220.127.116.11 gateway=202.x.x.2 scope=10 comment="Static PING way by ISP2-host1"
add dst-address=18.104.22.168 gateway=202.x.x.2 scope=10 comment="Static PING way by ISP2-host2"
Create a virtual hops.
It has to be different of your LAN. Just invented addresses.
I use 10.10.1.1 and 10.10.2.2
add dst-address=10.10.1.1 gateway=22.214.171.124 scope=10 target-scope=10 check-gateway=ping distance=1 comment="Virtual host for ISP1-host1"
add dst-address=10.10.1.1 gateway=126.96.36.199 scope=10 target-scope=10 check-gateway=ping distance=2 comment="Virtual host for ISP1-host2"
add dst-address=10.10.2.2 gateway=188.8.131.52 scope=10 target-scope=10 check-gateway=ping distance=1 comment="Virtual host for ISP2-host1"
add dst-address=10.10.2.2 gateway=184.108.40.206 scope=10 target-scope=10 check-gateway=ping distance=2 comment="Virtual host for ISP2-host2"
Create default routes.
Route with distance=1 will be primary.
add distance=1 gateway=10.10.1.1 comment="Default route to WAN1"
add distance=2 gateway=10.10.2.2 comment="Default route to WAN2"