Problem:
For example, when you upgrade a Horse Archer to a Knight the ranged promotions Accuracy and Barrage become useless. Or when you upgrade a Horseman into a Camel Archer then Shock and Drill become useless. This has bothered me since day 1.
The units that experience changes in unit type (e.g. Ranged to Melee, Melee to Ranged, etc) and must deal with this problem are:
* Chariot archer to Knight (Ranged to Melee)
* Hunnic Battering Ram to Trebuchet (Melee to Siege)
* Hunnic Horse archer to Knight (Ranged to Melee)
* Egyptian War chariot to Knight (Ranged to Melee)
* Indian War elephant to Knight (Ranged to Melee)
* Assyrian Siege tower to Trebuchet (Melee to Siege)
* Horseman to Mongolian Keshik (Melee to Ranged)
* Horseman to Arabian Camel Archer (Melee to Ranged)
* Arabian Camel archer to Cavalry (Ranged to Melee)
* Mongolian Keshik to Cavalry (Ranged to Melee)
* And a whole mess of issues with the spearman line of units (affecting everyone, including civs with unique spearman, pikeman and lancer units)
This problem (or feature?) affects every single civ in the game due to chariot archers upgrading into knights and the entire spearman line of units going through many unit-type changes throughout the game. And when it comes to unique units, it affects about 13 or so civs.
I personally think it's a big problem; for instance, chariot archers are a great unit but many people are reluctant to use them because most of their promotions will become useless once they're upgraded. This is a nuisance that affects every single civ in the game, some more than others (i.e. the ones with unique units that change unit-type).
Solution:
My solution is to give each Great General a one-time use ability to 'Reassign Promotions' or 'Retrain Units' or whatever name you please. Using this ability will consume the Great General and causes all surrounding land units (6 tiles total) and the unit that is on the same tile as the Great General to remove all current promotions while retaining all of their experience points, allowing you to choose as many promotions (of the current unit-type only) as you are able to, on the spot. On-the-spot healing is not available, and this does not remove unique-unit promotions that are normally retained through upgrades such as the ones listed here.
* Perhaps make it so that this ability can only be used during peacetime to prevent potential exploits or problems during combat. Maybe make it work only when your GG is inside your own borders.
* This does not work for air units because it's not necessary, and it would make every single stacked air unit in a city reset their promotions leading to a mess.
* Maybe Great Admirals can have a similar ability that works with sea-based units.
This ability is an option, so if you don't want to reset your promotions then you don't have to. For instance, if you have a scout-turned-archer that has Survivalism 3 then you probably don't want to reset your promotions.
For example, when you upgrade a Horse Archer to a Knight the ranged promotions Accuracy and Barrage become useless. Or when you upgrade a Horseman into a Camel Archer then Shock and Drill become useless. This has bothered me since day 1.

The units that experience changes in unit type (e.g. Ranged to Melee, Melee to Ranged, etc) and must deal with this problem are:
* Chariot archer to Knight (Ranged to Melee)
* Hunnic Battering Ram to Trebuchet (Melee to Siege)
* Hunnic Horse archer to Knight (Ranged to Melee)
* Egyptian War chariot to Knight (Ranged to Melee)
* Indian War elephant to Knight (Ranged to Melee)
* Assyrian Siege tower to Trebuchet (Melee to Siege)
* Horseman to Mongolian Keshik (Melee to Ranged)
* Horseman to Arabian Camel Archer (Melee to Ranged)
* Arabian Camel archer to Cavalry (Ranged to Melee)
* Mongolian Keshik to Cavalry (Ranged to Melee)
* And a whole mess of issues with the spearman line of units (affecting everyone, including civs with unique spearman, pikeman and lancer units)
This problem (or feature?) affects every single civ in the game due to chariot archers upgrading into knights and the entire spearman line of units going through many unit-type changes throughout the game. And when it comes to unique units, it affects about 13 or so civs.
I personally think it's a big problem; for instance, chariot archers are a great unit but many people are reluctant to use them because most of their promotions will become useless once they're upgraded. This is a nuisance that affects every single civ in the game, some more than others (i.e. the ones with unique units that change unit-type).
Solution:
My solution is to give each Great General a one-time use ability to 'Reassign Promotions' or 'Retrain Units' or whatever name you please. Using this ability will consume the Great General and causes all surrounding land units (6 tiles total) and the unit that is on the same tile as the Great General to remove all current promotions while retaining all of their experience points, allowing you to choose as many promotions (of the current unit-type only) as you are able to, on the spot. On-the-spot healing is not available, and this does not remove unique-unit promotions that are normally retained through upgrades such as the ones listed here.
* Perhaps make it so that this ability can only be used during peacetime to prevent potential exploits or problems during combat. Maybe make it work only when your GG is inside your own borders.
* This does not work for air units because it's not necessary, and it would make every single stacked air unit in a city reset their promotions leading to a mess.
* Maybe Great Admirals can have a similar ability that works with sea-based units.
This ability is an option, so if you don't want to reset your promotions then you don't have to. For instance, if you have a scout-turned-archer that has Survivalism 3 then you probably don't want to reset your promotions.