It's pretty easy to make usable web sites with regular HTML, and it's almost certainly possible to make just as shitty AMP sites. However, AMP solved the political/bureaucratic problem by providing a strong carrot to make a non-shitty version of the web site, and made it easier to make a non-shitty one than a shitty one.
The publishers already have to spend time remaking their web site, and the goal they get provided with is "keep it simple and lightweight", and doing shitty things is made hard/expensive. So they grumble and do it, getting it mostly right. (Although they seem to have realized the "potential" and started shittifying the AMP pages too).
They could have a normal experience that is very similar. Yet, they still serve the non-AMP, ad- and tracker-laden main page that takes 20x as long to load, jumps around while doing so, and tries to blast you with an autoplaying video that remains stuck to your screen while you scroll.
I don't get the hate for AMP - it somehow succeeded in the impossible quest to get publishers to make less shitty web sites, and it does improve user experience by preloading the pages.
It's just like with the "acceptable ads" program - some web sites participating in it serve significantly less shitty ads to people who only allow "acceptable ads", while serving a worse version _of the same ad_ to everyone else.
So maybe, to answer your question: Build a standard (or extend the AMP standard) that works just like this, but is enforced by the browser. Much harder to do and unlikely to get enough momentum/incentive to actually succeed, though.