One solution is that the Zero can't dive worth a damn, you put it in a dive. The controls become sluggish, not to mention it doesn't have a prayer of a chance of catching a F4F-3, F4F-3A, or F4F-4 Wildcat when it's in a dive. Granted the same goes for the F6F Hellcat and the Corsair. Generally the recommended tactic for engaging a "Zeke" was to get an altitude advantage and get above and behind it, if possible diving out of the sun. You line up your target, fire a quick burst, if you don't get the kill in the dive, don't pull up out of the dive and turn fight, that is a good way to wind up drifting down to the ground or the ocean dangling from a white parachute, just keep on going. A good place to aim is at the wingroot .50 cal rounds hitting in that area would often tear a wing right off a Zero. If you have to engage a Zero use the "Thach Weave" or in this case the "Thompson Weave" which will force a Zero to break off from behind a Wildcat or other friendly fighter because of the wingman coming at you. The last option is to just plain engage a Zero in a straight up head-on pass. The Zero is all offensive oriented and thus has almost nothing in the defense department. A Wildcat going in a head-on pass with a Zero will win most of the time.
There you go! All of the tactics that you need to successfully engage a Zero.
One more thing! If you are in a Wildcat and you see a Zero begin to go into a loop and you are chasing him. DO NOT GO AFTER HIM! The Wildcat will stall out, and enter a flatspin, when the Zero comes out of that loop, guess what, you are now a sitting duck for a plane with two 7.7mm Machine Guns and two 20mm Cannons. Similar tactics apply for the Ki-43, J2M, A7M, N1K, or any Japanese single engined fighter with the exception of the Ki-61, the thing handles like a Bf-109 and is very similar in appearance to them as well.