You/we could create a script that would try to ping the second hop on your route, and if there was 100% packet loss, it would ifdown/ifup your interface.
Then, we could cron-job it to run every X minutes, where X is a number you are comfortable with.
Hope this helped,
Nathan