Наверное, результат будет разный в зависимости от того, как именно он у Вас отваливается. Например, если соединение сохраняется, но перестают бегать пакеты, то переподключения точно не будет.
Все известные мне системы, которые следят за подключениями и автоматически реконнектятся либо меняют маршрут при недоступности шлюза работают примерно также, как Ваш самописный скрипт. Поэтому если Вы довольны результатом, смысла менять что-то не вижу.