Given the issues with the web host a while back, I have placed extra measures to try to ensure my web sites are always available.
There are a number of elements to this:
1 - Monitoring of web sites. There are services you can pay for to check up on your sites, or free ones with very infrequent reporting. I have chosen to add cron jobs to my own office server to check every 5 minutes and email me issues.
2 - Automatic backup of user modifiable content. Most of the sites I maintain, e.g. cozycatslondon.co.uk are based on database-driven content-management systems, so its essential to take regular copies of the database. I am implementing plans to dump the contents of every database every night, FTP the files to my office server and add them to the source control sytem I use, Subversion. I use an external server for this.
3 - I then have the data loaded automatically into back-up web servers, "warm stand-bys". If there are any more issues, then I can change the DNS entry to point to the new server. These reserve servers can also be used for testing changes before copying to the "real" site. Note you can use your home computer as a server even if you don't have a static IP address by using services such as dyndns.com. Its free for one IP address.