I'd suggest that you:
Automatically mirror the entire contents and configuration of your main server to a secondary backup server on a completely separate network in a different data centre. Use RSync, FXP, cPanel voodoo, or whatever method you wish to automate syncing.
Use DNS failover switching to automatically route traffic to the backup server should the Hostgator server prove unresponsive.
This means that you constantly have a 'hot' backup waiting to go should the worst happen, rather than a 'cold' backup that requires manual intervention and much scrambling around and panicking. It also means that your clients will never know that their site went down before you did, which can be distressing for everyone.
You can set up failover DNS using a provider such as DNS Made Easy. For each domain you're hosting, you would set up up to five backup IP addresses, one for each of your backup servers. Once that's done...
DNS Made Easy checks your primary server ever two-to-four minutes and, if it doesn't detect a response, it routes traffic to the secondary IP address.
DNS Made Easy continues to check the primary server. When it comes up, it will reroute traffic to the first server, or—if you prefer—keep it at the backup while you diagnose what went wrong and fix the primary server.
Of course, this solution will raise your operating costs, which you'll have to pass on to clients somehow, but—if you're in an industry where downtime would put you out of business—paying for a largely redundant server is probably worth it for that one time it saves the company.
Beyond that:
###Duplicate, duplicate, duplicate The more independent backups you have, the better. I store remote backups on a local hard drive, which is mirrored to an external hard drive, to Dropbox, a git repository, and a remote FTP account. Take no chances. Duplicate as much as you can. If you have to restore from a manual backup, it's better to have a choice of five than a choice of one. Paranoia is underrated.
###Practise restoring the backups manually If you've never tried to recover from one of your backups, how do you know that they work? It's worth doing emergency drills to see what would happen should your automated procedures fail.
**UPDATE:** A few other services I've discovered recently that are worth mentioning in relation to site backup, disaster recovery, and maintaining uptime:
- Cloudflare, who provides security and caching features to keep sites up when your server goes down. (They mirror your site and serve it from their globally distributed cache instead of from your server directly.)
- Codeguard, who provides automated backups and rollback of website code (FTP only).
- Site Auto Backup, who provides automated backups and rollback of website code, email data, and MySQL info via cPanel backups. Note that this is run by Hostgator, so it's not necessarily suitable if you host your site with them as well, but might help others.
Cloudflare in particular looks like it would be useful to avoid downtime and to generally improve site responsiveness.