Interesting project, I still have fond memories of playing Fallout 2 back in college.
As far as first strikes vs. combat percent, I can explain a few things. Shoggi was on the right track with the way combat works. A unit
at full strength has 100hp, and the combat occurs in rounds.
Assuming there are no first strikes involved, someone always wins a round. The damage dealt by attacker and defender is computed at the beginning before the rounds start and is based on the ratio of the 'CurrCombatStr' of each unit. This is 'BaseCombatStr', taken straight from XML, times the percent of health left, times any combat modifiers. So a 10 base

unit at half health with combat 3 has (10 * 50% * 130%) = 6.5

.
The damage calculation uses a ratio based on the two units Current Combat Strengths that is slightly more complicated than I need to go into. If the two are equal in strength, the damage for both is 20/round.
The other important number is the DefenderOdds, which is the odds of the defender winning each round. The AttackerOdds are just the inverse of DefenderOdds (e.i. 1 - DefenderOdds). This number comes from the formula
Code:
(iDefenderStrength) / (iAttackerStrength + iDefenderStrength)
So if they are both 10

, its (10/ (10+10)) = 50%.
A badly skewed battle, lets say 20

vs5

is (40 / (40+5)) = 80%
for that same 20vs5 situation, the damage is 36 vs 10.
So, on any given round, the defender has 80% of doing 36 damage, while the attacker has 20% of doing 10 damage. Since both damage and the odds of inflicting damage go down/up at the same time, this is why badly damaged units (therefore very low 'CurrCombatStr') have so little chance of inflicting much of any damage to an opponent.
Now here's where first strikes come in. If our 5

unit had 5 first strikes, as long as he has first strikes, he can inflict damage
if he wins a round. If he loses the round, the first strike gives him a pass on receiving damage. Since he's horribly outclassed in both 'AttackerOdds' and 'iAttackerDamage', it won't do him much good. He has (.2^5 = .032%) odds of winning all five rounds he has first strikes on, which
if he won all five, only did 50 damage. So he's still dead
Switching it around, the 20

unit with 5 first strikes only needs to win three rounds to kill the 5

unit. His odds of winning
at least three of his five free rounds is 94.2%.
The take home point here is that first strikes are only really useful if you are stronger than or at least on par with the opposing unit to begin with. The more powerful you are in comparison, the more powerful they become. If the choice is between a combat and drill promotion, the combat will always be the stronger choice, but a unit with City Garrison 1,2,and 3, therefore with a very high Current Combat Str while in a city, could benefit well from further drill promotions to compliment it. They are just worthless by themselves

.
I'll also add that 'chanceFirstStrikes' are figured before a battle picking a random number in the range of total possible chance first strikes. If you have 3 chance first strikes, you have a 25% of having 0,1,2,or 3. Since first strikes are already weaker than combat percent, I don't understand why Firaxis decided to weaken them more by making chance first strikes.
Finally, just as a note, if you increase the number of first strikes/chance first strikes given by drill/other promotions by anything significant to balance them you'll need to change the AI valuation for first strikes or else every AI unit will pick promos with them over anything else. I can help with that if you wanted to go that route.