Мы сделали просто.
До самого сервера доходят два канала (два IP адреса). Арендовали простенькую виртуалку в датацентре (выбирали на наш взгляд наиболее надежный датацентр, рекламировать не буду). DNS сайта указывает на виртуалку. В виртуалке nginx балансирует между двумя (а сейчас уже тремя) каналами.
Да, виртуалка — это точка отказа. Но с хостером виртуалки есть SLA. И вероятность отказа у этой виртуалки на порядок меньше вероятности падения одного из каналов. А у датацентра уже входящие и выходящие каналы зарезервированны «по-взрослому» :)
Решение не идеальное, но очень дешевое и значительно повышающее надежность нашей инфраструктуры (спасало уже не один раз).