The “GRE keepalives or EIGRP hellos” discussion has triggered another interesting question:
Is there a good rule-of-thumb for setting hold-down timers in respect to the bandwidth/delay of a given link? Perhaps something based off of the SRTT?
Routing protocol hello packets or GRE keepalive packets are small compared to the bandwidths we have today and common RTT values are measured in milliseconds while the timers' granularity is usually in seconds.
OSPF support for fast hellos is an exception, but you wouldn’t want to use this feature on a hub router with tens or hundreds of small remote sites.
You should answer the above question by asking yourself: what are my business needs for a fast switchover and how can I get there? If you’re satisfied with a switchover that takes a few (up to ten) seconds, you can achieve it with keepalive/hello packets. If you need a faster switchover, you will have to do serious routing protocol tuning or use MPLS TE fast reroute.