What seems to often go unsaid in these discussions is that the choice isn't between cloud and colo. There's a third, hugely popular and mature option: dedicated providers - which address all of your issues.
It's convenient for cloud vendors to have people believe the choice is between them or having to deal with hardware.