As @laanwj said back in 2014, "Binding features to version numbers assumes a linear, centralized progression. It means that everyone that implements A also needs to implement B even though they are unrelated. I don't think this is desirable anymore".
This pull request starts a way forward relying on nVersion less. Already other bitcoin nodes, e.g. Unlimited set their version number to 80000 even though they do not currently support compact blocks or headers announcements, so the code using nVersion is becoming increasingly irrelevant to non Bitcoin Core nodes it seems.