Uma maneira de resolver seu problema é criar uma política do sistema (ou script), cujo ping fará algum servidor na INTERNET, por exemplo, 8.8.8.8 (google DNS). E quando por exemplo 5 perda de pacotes, então mude de rede / gateway. Eu faço isso em roteadores Juniper ou Cisco (ou switchs L3), então isso deve ser fazer no linux, você precisa de algumas ferramentas de rota.
Para mim, a melhor opção é criar uma opção de roteamento no seu roteador principal (se existir, é claro). Todos os novos roteadores domésticos têm opções como o DualWAN. Isso parece que você conecta o cartão SIM ou escolhe outra rede / porta (como o seu telefone) e o roteador monitora internamente a conexão e a comutação quando isso é necessário.