Если вы хотите, чтобы все прозрачно для пользователя было при сбое одного из провайдеров- только вариант с арендой автономной сети и настройкой EBGP. Остальные варианты- это workaround, и тут действительно, как уже написали выше, нужно писать скрипт, который будет переписывать маршруты при потере пинга. И в последнем варианте пользователи будут замечать переход на другого провайдера (им придется перелогиниться во всех сервисах, есть риск потери не сохраненных данных).