10 or so jabo shot down, Wilhelmshaven port attacked but not destroyed.
I tweaked reactions in line with your thoughts, ramping up max attacks per unit but keeping the range pretty consisten among model types. I gave the Allies a slight advantage in range for their fighters (Spits 2, P-47 3, P-51 4) figuring that the Germans compensate by having a strong likelihood of having flak support the fighters, which is very unlikely for the Allies. Also, remember that jets don't draw reactions from most aircraft, and most German players are probably going to pursue jets, which are much less useful for the Allies.
canReact[unitAliases.Fw190A5.id] = {maxAttacks = 2, range = 2, lowerAltitude = reactionGroups.allButJets}
canReact[unitAliases.Fw190A8.id] = {maxAttacks = 3, range = 2, lowerAltitude = reactionGroups.allButJets}
canReact[unitAliases.Fw190D9.id] = {maxAttacks = 4, range = 2, lowerAltitude = reactionGroups.allButJets}
canReact[unitAliases.Ta152.id] = {maxAttacks = 4, range = 3, lowerAltitude = reactionGroups.allAir}
canReact[unitAliases.Ju88C.id] = {maxAttacks = 1, range = 1, sameMap = reactionGroups.allButJets}
canReact[unitAliases.Ju88G.id] = {maxAttacks = 2, range = 1, sameMap = reactionGroups.allButJets}
canReact[unitAliases.He219.id] = {maxAttacks = 2, range = 2, sameMap = reactionGroups.allButJets}
canReact[unitAliases.Me109G6.id] = {maxAttacks = 2, range = 2, lowerAltitude = reactionGroups.allButJets}
canReact[unitAliases.Me109G14.id] = {maxAttacks = 3, range = 2, lowerAltitude = reactionGroups.allButJets}
canReact[unitAliases.Me109K4.id] = {maxAttacks = 4, range = 2, lowerAltitude = reactionGroups.allButJets}
canReact[unitAliases.He162.id] = {maxAttacks = 1, range = 4, lowerAltitude = reactionGroups.allAir}
canReact[unitAliases.Me262.id] = {maxAttacks = 2, range = 4, lowerAltitude = reactionGroups.allAir}
canReact[unitAliases.EgonMayer.id] = {maxAttacks = 4, range = 3, lowerAltitude = reactionGroups.allAir}
canReact[unitAliases.HermannGraf.id] = {maxAttacks = 4, range = 3, lowerAltitude = reactionGroups.allAir}
canReact[unitAliases.JosefPriller.id] = {maxAttacks = 4, range = 3, lowerAltitude = reactionGroups.allAir}
canReact[unitAliases.hwSchnaufer.id] = {maxAttacks = 4, range = 3, lowerAltitude = reactionGroups.allAir}
canReact[unitAliases.AdolfGalland.id] = {maxAttacks = 4, range = 4, lowerAltitude = reactionGroups.allAir}
canReact[unitAliases.Experten.id] = {maxAttacks = 4, range = 3, lowerAltitude = reactionGroups.allAir}
--American tactical bombers (A20, B26, A26) are not intercepted. Their speed keeps them safe.
--The Ta152 and P-51D are important aircraft worth building. They can intercept jets.
--Allied fighters will attempt to intercept any German aircraft in range.
canReact[unitAliases.SpitfireIX.id] = {maxAttacks = 2, range = 2, lowerAltitude = reactionGroups.canInterceptGerman}
canReact[unitAliases.SpitfireXII.id] = {maxAttacks = 3, range = 2, lowerAltitude = reactionGroups.canInterceptGerman}
canReact[unitAliases.SpitfireXIV.id] = {maxAttacks = 4, range = 2, lowerAltitude = reactionGroups.canInterceptGerman}
canReact[unitAliases.HurricaneIV.id] = {maxAttacks = 1, range = 1, lowMap = reactionGroups.canInterceptGerman}
canReact[unitAliases.Typhoon.id] = {maxAttacks = 1, range = 1, lowMap = reactionGroups.canInterceptGerman}
canReact[unitAliases.Tempest.id] = {maxAttacks = 1, range = 2, lowMap = reactionGroups.allAir}
canReact[unitAliases.Beaufighter.id] = {maxAttacks = 1, range = 1, nightMap = reactionGroups.canInterceptGerman}
canReact[unitAliases.MosquitoII.id] = {maxAttacks = 2, range = 1, nightMap = reactionGroups.canInterceptGerman}
canReact[unitAliases.MosquitoXIII.id] = {maxAttacks = 2, range = 2, nightMap = reactionGroups.canInterceptGerman}
canReact[unitAliases.P47D11.id] = {maxAttacks = 2, range = 3, lowerAltitude = reactionGroups.canInterceptGerman}
canReact[unitAliases.P47D25.id] = {maxAttacks = 3, range = 3, lowerAltitude = reactionGroups.canInterceptGerman}
canReact[unitAliases.P47D40.id] = {maxAttacks = 4, range = 3, lowerAltitude = reactionGroups.canInterceptGerman}
canReact[unitAliases.P38H.id] = {maxAttacks = 1, range = 2, lowerAltitude = reactionGroups.canInterceptGerman}
canReact[unitAliases.P38J.id] = {maxAttacks = 2, range = 2, lowerAltitude = reactionGroups.canInterceptGerman}
canReact[unitAliases.P38L.id] = {maxAttacks = 3, range = 2, lowerAltitude = reactionGroups.canInterceptGerman}
canReact[unitAliases.P51B.id] = {maxAttacks = 4, range = 4, lowerAltitude = reactionGroups.canInterceptGerman}
canReact[unitAliases.P51D.id] = {maxAttacks = 5, range = 4, lowerAltitude = reactionGroups.allAir}
canReact[unitAliases.RedTails.id] = {maxAttacks = 5, range = 5, lowerAltitude = reactionGroups.allAir}
canReact[unitAliases.Yak3.id] = {maxAttacks = 1, range = 1, lowMap = reactionGroups.canInterceptGerman}
canReact[unitAliases.RAFAce.id] = {maxAttacks = 4, range = 4, lowerAltitude = reactionGroups.allAir}
canReact[unitAliases.USAAFAce.id] = {maxAttacks = 4, range = 4, lowerAltitude = reactionGroups.allAir}