Or perhaps if a unit loses a unitcombat it should NOT lose the promos it acquired with that unitcombat (but obviously can't take more promos on those lines).
Such an approach would be incompatible with concepts yet to come. There is a reason this was setup this way.
However, where is the problem in defining another combat class for the sniper types? I've often thought we were lacking the correct definition on those and that new definition should also include ambushers, special forces, etc... Many promos that would apply for criminals would also apply well for that new category as well, Shadowalker being a prime example. I'd suggest Stealthy (not to be confused with Stealth - for aircraft) as the new unitcombat to fill this role.
You also seem to be reluctant to utilize the multiple combat class option. Is this purely due to the civilopedia not currently showing additional combat classes when predefined on units? Or do you feel there's some other problem to address there? This could be a very handy option for blending promotion access chains properly. For example, Ambushers would be melee/stealthy units, while Snipers would be gunpowder/stealthy units. Therefore, both maintain all the stealthy unit promo accesses but adapt some when they advance from melee to gunpowder (I know they aren't direct upgrades of each other so this is JUST an example.)
also, i would like it, lake an equipment to be given if you go into a city you get a promotion upgrade, or have a choice to make a different one,
I'm not entirely sure what you're asking but we have the capacity for having a unit select a differing equipment when in a city that offers a variant now. But of course, equipments are still awaiting some other combat mod programming and ai design in general. Particularly AI is the holdup on equipment as a whole at the moment.
But equipment issues are a big cause for the requirement that units can lose promos and need to re-train what they lost when combat classes change. Certain 'tricks' and abilities can only be enabled when certain equipments are maintained (this is shown by those equipments possibly enabling a whole new combat class on the unit when possessed) but if those equipments get removed, the tricks are lost (the combat class is thus taken away) because the underlying tools to perform them have been removed.
The same thinking goes for the methods utilized to train and maintain training on units already out there. If a unit combat class isn't supposed to have access to selecting a promotion, why should it keep having that promotion when a more crude unit has upgraded to the new class? Units are composed of multiple individuals and the training of those individuals as they cycle into and out of the unit throughout time would adapt and change as the unit's function does as well. A military instructor would cease training replacement troops for what was once a legendary medieval brigade (now being a Rifling Squad) on all the same melee combat strategies they'd mastered back then. No... they would adapt and train those new refreshments with skills that are more appropriate to the era.