I've been hiring dev ops engineers lately, and the consensus seems to be in the candidates I've talked to that all of the cloud providers are somewhat painful to work with. I've worked the most with AWS so I'll use it as an example, but it seems like they sell on "new services", so they are incentivized to release quickly, which leads to services with a lot of holes and poor documentation, making it almost essential…
The only option I can see as an alternative "minimal" cloud is one that runs Kubernetes on one of the "mid-tier" hosting platforms. DigitalOcean, Linode, heck even OVH now have K8s offerings with ready-to-go (and free) control node/panel instances. Of course K8s isn't shallow but at least when you master their way of doing things you're free to go and do whatever you want. It's cheaper too.
For one example, in most managed k8s setups, you can't change the admission controllers used on a cluster unless the cloud provider exposes this via an interface. Some cloud providers do more of this than others.
So with a minimal k8s managed option you might get stuck if your cloud provider doesn't support an admission controller or other API server option you need.