Currently promotions with AlwaysHeal = '1' give their unit the full value of the heal they would receive while fortified at the end of each turn, regardless of action.
This makes fortifying much less valuable for infantry, and completely useless in the case of Skirmishers, who don't get fortification bonuses. It also incorporates various healing bonuses like friendly/enemy land, medic, etc, so it is highly variable in value. This makes March promotions hard to balance, and better for humans who can escort march units with medics, and know to combine the effects of medic and march on the same unit.
Edit: also air repair is the single most valuable air promotion because it allows air units far more uptime without having to stop to heal. Air units already benefit from being stationed in cities, often with hospitals and military bases that give consistent heal bonuses regardless of action
Proposal: change how March promotions work
Why not change Always Heal from a Boolean on/off effect to an integer value that heals X amount at the end of each turn instead? This would make it work like existing building bonuses like Hospital, which heal units stationed in the city for a defined amount each turn, regardless of action. It would make March more consistent in value, and therefore easier to use and more reliable for the AI. We also wouldn't have to do silly things like add CS % maluses to counterbalance the potential effects.
The heal from AlwaysHeal would stack additively with fortification now, and not interact with healing bonuses like Medic, etc.
Also, this would open up the AlwaysHeal ability to be used as a Damage Over Time (DOT) effect for plague promotions. Just make the healing at the end of each turn negative, and the unit will take damage until the plague expires. Neat! I bet that would be a fun effect to add somewhere.
Specific implementations:
March and Skirmisher March : AlwaysHeal = 5
Heli Repair : AlwaysHeal = 5
Air Repair/Repair : AlwaysHeal = 5
Survivalism 3 : AlwaysHeal = 10