When I was building http://www.nouptime.com/ my uptime was very important to me... okay, self promotion put aside, there's a few things you can do..
First, make sure there is RAID 1 mirroring. This means any data written to disc 1 will also be written to disc 2, if one goes down the other one kicks in..
Database mirroring also exists. you can choose to mirror all the data in realtime or synchronize it every, say, 6 hours, or maybe every 12 hours. up to you. but the other database can be kept on the same server or on a different server (in a different country) so it's a good way of protecitng your data..
There's many places that have dedicated servers but I never needed one so I'm not the right person to ask. I've heard good things about rackspace but you'll need to do your own research on uptime.
I've had great luck with ThePlanet.com.
I had a HD crash a few years ago and it was a 45 minute turn around to copy the drive onto another and get me up and going again. Did I mention this was Christmas!.
ThePlanet also offers off-server backup plans too and is included with many plans...
I have been looking into the planet, hostgator have had massive problems over the last few days, I wanna change to the planet but unsure of the plan to go for. Which plan do you use?..
Plan for automated hacking detection and DOS prevention. these guys have it.
Use a service like http://www.mosso.com/ or http://www.mediatemple.net/.
Compared to typical dedicated servers, there are some drawbacks to these setups (go to Webhostingtalk.com and search there for more feedback), but it's the easiest and cheapest way to get (relatively) highly reliable hosting...
Rackspace.com is good but expensive, I think HG are OK but as the last chap said they have been dowm a lot over the last few days..
If you're willing to put up the money, you can throw something together that can be extremely reliable..
Make sure you're hosting with a top-notch provider with several links to major backbones. Consider peer1.net or xo.com. These guys actually own the datacenters and the fiber lines that run across the country. Many companies will claim "multi-homed, OC3, bla bla bla" connectivity, however, these are the capibilities of their uplink..
Like Stanley said, you're going to want RAID with mirroring in case your HD fails..
Make sure you're using a name-brand server..
DOS protection is bullshit. If someone throws a 1 gbit attack at you, they're going to null route your server until the attack is over..
Load-balancing is typically performed at one datacenter. Spanning multiple datacenters, you'll have to load balance at the DNS level..
You have 2 servers.
Www.yoursite.com points to both IPs.
DNS randomly rotates between the 2 servers.
When one server goes down, you take that server out of the DNS rotation.
Be sure to set the TTL to something low like 300 seconds, or else you'll have the downed server's IP cached across the Internet..
Efficiently managing a copy of your back-end database over two locations is beyond me..