It will never work only with shared hosting accounts. You will need something intelligent to handle outages. There is many options:
1. CDN as wrote @Hyppy
This is simplest and we can say cheapest solution for static content. You will upload you static content (js, html, images and so on) into CDN and it will distribute it across the globe. You have high availibility for your content and your visitors will download your content from nearest servers, not across the whole Internet. CDN cannot serve dynamic content (ok, some like Akamai can, but it's expensive and cannot provide everything)
You would set up your own server as loadbalancer using HAProxy. You'd point your DNS records to the loadbalancer and the loadbalancer will route traffic to target servers. Loadbalancer can manage load distribution when all servers are ok and disable traffic when some servers die.
If you need HA, you should have more loadbalancers in backup using virtual IP (using something like KeepAlived). This is quite simple to achieve if both of your loadbalancers are on same network, but it is quite difficult if you want to have those loadbalancers in different providers (you will end up with something called multihoming AS, your own IP subnet and another stuff). You can use specialized hardware as loadbalancers, like appliances from F5.
This is an expensive solution in terms of buying, but can be cheaper than CDN in terms of TCO and you're not limited in terms of what you handle.