I've seen the same thing with ibm.com and google.com; they tend to use ttls of 5 minutes or less. On the other hand, we use short ttls internally for zones like cs.bell-labs.com. It's tempting to set a floor on ttls for NS records at least, but ultimately I wonder why expired data isn't just getting replaced. Perhaps the time-outs on queries need to be adjusted.
One problem we see locally is that we never seem to get negative answers to queries, notably for AAAA and CNAME queries, which rarely succeed, so we wait for the queries to time out instead of getting prompt negative answers from our upstream nameservers.
