Worth mentioning, another strategy for customers is to use an abstraction layer. Good ones include jclouds and libcloud. Still take the point about focus/quality.
Can you think of other areas where competing services have common open billing? Great for sure but difficult commercially. Especially when you start bringing in credit risk and other non-technical factors.