IMO the core paradigm shift that needs to happen is for the software and infrastructure to become commoditized. The only way for cloud-everything to not be a nightmarish abuse of the end-users is for the mode of operation to change, from the current "data comes to the app", into "app comes to the data". That is, I believe the data, the application and the compute running it need to be independent to the extent possible.
In particular, the choice of an app and where it runs should be entirely up to user. The user should be able to easily switch from e.g. a cloud run by Amazon to e.g. a "cloud" run by their HOA in the basement of their block of flats. And then possibly switch to a cloud run by a company local to their city, or one of their employer, etc.
The primary point behind my view is to prevent application vendors from being able to take their users hostage by keeping users' data under lock on their own infrastructure, accessible only through their own software. The second point is to increase efficiency and boost local markets worldwide.