Actual 100% uptime is stupendously hard to achieve -- in theory, you need redundant failover planets. If what you're actually after is "service can survive hardware failure", then you can either cluster all your services, or look into a provider that does High-availability VMs (which you allude to wanting in your question).
The benefits of a high-availability VM are that you don't need to deal with any of the complexities of clustering inside your Windows machine. The services don't need to know anything about failing over or replicating data, which simplifies configuration and management immensely.
"Cloud" providers like Amazon EC2 can effectively do a HA VM setup, because if the node that an instance is on fails, you can detect that occurance and start the instance again on another node. EC2 won't automatically detect when a node crashes and start the instances back up elsewhere, but there are plenty of monitoring tools that can handle this requirement.
The place I work at, Anchor Systems, is also rolling out a managed HA VM product. I don't know of any other "traditional" hosting companies that have something like this, but then my job is to make this stuff work, not do the competition analysis. It wouldn't surprise me if someone else has something going on for this, though.