We just had a client whose domain was registered at GoDaddy. Their site disappeared one day for no apparent reason and after some investigating we determined that there was a DNS resolution failure. We called GoDaddy and after asking questions several levels deep they finally admitted to having issues on name servers 25 and 26 (which, incidentally were the two our client was assigned).
We waited while the error was fixed (8 hours or so). Not long in the grand scheme of things but understandably, from our client's perspective, time was money.
After the situation was resolved I got curious and decided to look into these two name servers ns25.domaincontrol.com and ns26.domaincontrol.com. Interestingly enough if you tracert or ping them, they both resolve to the same IP address. So much for geographically separated name servers.
I have a couple of solutions to the name server issue.
First, I like to separate DNS from the webhost. In this case the client did just that and his uptime was still compromised. Beyond that, I like to use third party services to handle DNS. DNS Park has a good service. For under $10.00 per year you can use their DNS servers which gives you 5 name servers to utilize.
I have also deployed dedicated name servers. If you are linux savy you could deploy a couple of cloud servers, configure BIND, and be off to the races. I wrote a short primer / proof-of-concept for achieving failover name servers for reliability and uptime
The bottom line is that if uptime is a high mission-critical priority, I think you need to take a close look at your DNS / Name Server configuration.