For many network services, I totally agree that the last 1% is a huge amount of the cost. But for some types of services, the cost to dramatically improve your uptime only costs roughly double the cost to have the service at all.
For example, NTP or simple HTTP(S) hosting. The NTP pool and serving files like Debian does with http://deb.debian.org/ both rely on simple duplicates of the first machine, providing the same files/interfaces and then a few fancy tricks with DNS.
If you have services like this then the cost of dramatically improving your uptime isn’t that bad at all. If you have a database backing your service then things might get slightly more tricky; it would really depend on how you’ve designed your service and database solution.
But also, people seem to make things a LOT more complicated than they need to be in search of additional uptime and I expect often they actually reduce their uptime due to the added complexity.