OK, it's 1942, don't fight the Japanese at night, so I'll ignore their overwhelming night action victories and concentrate on the few day actions I've had.
Japan 2xCV, 2xCA, 7xDD - Allied 3xCA, 2xCL, 6xDD.
Are you completely sure that was CVs?
Any surface combat against CVs, will end quickly because their TF will try to retreat as soon as possible (unless they fight against German guy, on wheelchair, with artificial arm)
Have you compared ships for both sides? For starter - Japan have 40-50% bigger ships in terms of tonnage.
Japanese CAs are best ships in game. They not only have more armor, than American CAs, but they also carry torpedoes, and US ships have only guns.
Also, ALL US torpedoes are faulty:
Those carried by submarine have 80% failure rate
Those carried by ships 60%
Those carried by aircraft 50%
(Japanese torpedoes have around 10-20% failure rate)
Taking all this into consideration - you have only guns, and DBs to fight with Japan. So you need at least 30% more ships in your TF to even achieve parity (not taking experience difference under consideration)
In all instances allied fatigue was in the 6-15 range (I'm intentionally not including battles were allied fatigue was 20+) , their commanders were the best available.
Several times I replayed battles varying the altitude of allied fighters and never noticed a significant affect on the results.
It is all about having fighters in right number in right place. That generally means, that you should patrol at bombers altitude, and have radar at base (if there is much difference in altitude, or enemy is detected too late, there will be no time for interception)
Amazingly now it was the allies holding off twice their number of Zeros, hitting 25% of the time (to my 5%), getting one hit kills, etc.
Japan can get to Guadalcanal only from Rabaul, and it is at extreme planes range, which is main disadvantage.
I can only conclude that:
A - I am totally incompetent
B - There is code to give the AI a "break" vs a human player.
Definitely, on higher levels, AI gets bonus at air battles, but I do not see anything special in naval combat. (it also probably do not follow standard rules for supply/replacements/pilots).
The main problem is that you try to counter enemy with exactly the same forces it uses.
To sink ships, you use planes. Your ships are only to sink loaded transports.
To get his planes, you try to catch them at airfield, not in air.
Anyway, this whole Scenario is about Guadalcanal, and Port Moresby. You just have to defend both bases, and keep them supplied, and operational. There is no need to sink enemy ships.
I have not played it from Allied side, but considering number of their bombers in this Scenario, I would first secure New Guinea (closing all Japanese airfields, and then invading bases), and then take care of Rabaul - the same way. I do not see use for Guadalcanal, aside from keeping there some DBs/Fighters - to sink enemy ships.