If units will not change profession when their profession becomes obsolete, then we will likely have asserts as the code sometimes check if the current profession is allowed for the unit in question. Sure it can be fixed, but we should be aware that it will happen.
Personally I think it would be best to just keep units and professions when they are no longer allowed. Imagine if we obsolete a ship. Would you disband your navy? Wouldn't that be like GM releasing a new car model to replace an old one and then all the old ones on the roads are scrapped? Clearly the old ones are still valid.
I would argue that in case of professions, the units should
try to upgrade instead of just doing it. If the test returns false, then the old profession is kept. Maybe they should check allowed profession during CvUnit::doTurn() and upgrade when it is possible. Imagine placing 3 units in a city on fortify and you have have yields to upgrade one of them. However you have feeder service or production to deliver more weapons. The units will then upgrade as soon as there are enough yields.
there are just too many to choose
I would likely point to feeder service as it solves one of the issues, which really annoyed me in vanilla and most mods. If I had to play vanilla where I could bring just one feature, this would be this one. I wrote this feature in the first place because I was annoyed with the lack of it, hence the reason why it was the very first thing I wrote for RaRE.
However I would say it is impossible to point to a single one. It's the number of features combined, which makes a mod and some of them would be pointless if you used them alone. For instance my bugfixes and performance improvements were mentioned earlier. That would be almost pointless to add to vanilla as while they are important, they aim to solve imperfections in other features. If you start to look at how features rely on each other, then it gets really complex and it is completely impossible to pick a single one as the best.
Besides I would say it's pointless to speak of "the best" feature. Not only will it be a matter of preference, it will also be countered with "it depends on...". Also like it or not, we added a bunch of features to CMC and they are staying there as a set, not individual features.