The biggest challenge with changing the *consensus* rules is getting the whole ecosystem to agree on them. We all individually have our pet theories as to how we would do it properly, but the actual solution needs to literally "resonate" with Bitcoin as a whole as it's supposed to serve the interests of that single whole.
Different parties in the system have their own considerations for themselves as the internal environment is highly competitive. In a recent days I have come to realize that Bitcoin only needs to change if something threatens it as a whole. In other words, if there is a system that can do its job better and as of right now there is no such system.
To put it simply, there are multiple ways to change the rules and only one way to keep them.
The latter always wins if there is much disagreement as it has the most gravity.
I agree, and I am happy you realized that. But make sure to differenciate between consensus changes and non-consensus change. Non-consensus changes can be implemented progressively with minimal coordination from the network (for example node broadcast policies, ...).