I like your idea of recognizing unit classes, but to simplify it, just note a percentage by which the OFF/DEF would be modified for those situations.
It'd simply be like:
ANTI-AIR X%
ANTI-NAVAL Y%
ANTI-LAND Z%
with the OFF/DEF of the unit modified as a whole for that combat, based on the opponent unit.
I'd also add situations for territory---attacking into territory type / defending in territory type. Mainly it'd apply to land units---but it'd also apply to subs in shallow water (lower DEF).
COASTAL X%
FOREST Y%
etc..
So the Cavalry unit might have a neg.% for forest, but the Infantry unit might have a pos.% for the forest, and the Artillery unit might have a neg.% (bombardment is less productive with all the forest cover).
For sub-classes (Tank vs. Inf, etc..):
I'd still try to emphasize creating unit abilities rather than OFF/DEF scales, since unit abilties make it easier to maintain an expandable modular set of units.
I'd add:
Charge (+% of the OFF is applied for the first rounds of combat): used to simulate cavalry/mechanize attacks but keep it proportionate to the units native OFF strength).
SuperSonic like charge, but with a greater OFF % bonus, to simulate jets or high speed missiles
DIGITAL-CONTROLED negates and voided by SuperSonic. But also is +OFF by OFF% if against a non-SuperSonic opponent.
ARMOR (Decrease OFF strength of opponent unit by 50% of their OFF strength, for combat; countered by ANTI-ARMOR).
Refering to Tanks and related.
ANTI-ARMOR
FORMATION +DEF as % of DEF strength versus land
units. For fighting in tactical formations.
SuperSearch/Anti-Invisible Search for the invisible units to a much broader area than current Civ3C. Also adds +DEF as % of unit's DEF.
Anti-Bombardment 50% Chance to intercept and destroy bombarding units (of any type) within radius of unit. Radius is secondary number that is unit dependent.
Stack Bombardment Remotely stacked to another unit's combat (i.e. Bombarder sited somewhere, linked to a normal unit, and automatically bombard's that unit opponent during combat---bombard effects occur during second round of combat).
SplashBombardment Like current Nukes, attacking all units in a stack simultaneously but without Pollution, but with tile improvement/terrain damage.
Terror Causes enemy unit to have 50% to automatically flee like Retreat, but is also yellow-lined in the hitpoints.
SuperStealth Negates current Civ3C stealth, and readuces Active Search success to about 10%.
UnOrthodox A super +% OFF for anything Infinitely more powerful then convential might of the scenario. Basically something like super-terrorism, Nuclear, Biological, Gas. Un-Negatable
SuperShield Reduces base OFF of all opponents to 10%, except for UnOrthodox, and doesn't negate any abilities.
and still have another lower level of Invisibility (stealth) vs. Detection to same radius as current Civ3C.
and possibly a
SpeedOfLight to be even more powerful OFF bonus than Charge/SuperSonic, for future/satellite weapons.
Etc...As long as differences between types of units aren't simply a unit vs. unit OFF/DEF difference (e.g. no need for a FLAME ability unless it's some kind of magic scenario)
think I just came up with an idea to make the combat system more flexible and realistic. Units could have 3 sets of attack and defense values. For instance, land units would have attack and defense (a/d) versus foot units, mounted units and air units. Mounted units would include both horse units and tank units. Foot units would include all infantry, including mechanized infantry. This would allow for very flexible combat by allowing tanks to have high values versus tanks but lower values versus infantry and thus make it tough for tanks to take cities by themselves. It would be possible to create an anti-tank unit with very high defense versus tanks but poor defense versus infantry, etc. Also this system would be very flexible in dealing with units with anti-aircraft capabilities.
For naval units there should also be 3 sets. A/D versus surface ships, A/D versus submarines and A/D versus aircraft.