So, I think we know how to protect Bitcoin from censorship. My answer is just "we should write a better code".
Why do I have a feeling that this is the wrong path? I agree with all you've said, and bitcoin can, indeed, become more private overtime, but answering with "let's just write a better code" implies that what's causing this taint propaganda is the code.
I sort of agree with this:
You will not find a solution to political problems in cryptography.
Bitcoin solves no political problems, but only practical and technical. And we're seeing this everyday. I can move millions of dollars for a nickle (practical) or move money across the world anonymously (technical). But, there's no such mechanism that can give a solution to the abrupt rise of KYC. No, decentralized exchanges don't. They mitigate trust, same as with bitcoin, because things work
more properly that way; because trust costs. But, both solutions are apolitical.
See monero. It's, supposedly, more private than bitcoin. What has happened? Most CEX's have blacklisted it, less and less merchants dare to accept it, people beyond the crypto space are constantly brainwashed etc. Is the problem in the code?