My preferred solution involves creating a so-called "spacechain" -- a parallel blockchain dedicated to this that relies on Bitcoin and don't have any shitcoins in it: https://www.youtube.com/watch?v=N2ow4Q34Jeg (specifically I want them without the burning, but that is irrelevant).
There are many possible ways, none yet possible in the current Bitcoin, unfortunately. I made a prototype that worked on signet: https://github.com/nbd-wtf/soma, but this was a long time ago, and I thought we were close to getting APO on Bitcoin 4 years ago, but how naïve I was.
The question of preventing namesquatting I think can be handled gracefully by just releasing shorter name availabilities slowly, with a fixed predetermined schedule -- kinda like Runes did with the names of their shitcoins.