Looking at the Naval Command rules again, I see a few things I missed yesterday:
The rules only refer to sonar being used to detect subs, or for subs to detect surface ships. It looks like surface ships are not actually allowed to use sonar to detect other surface ships. Had we done that right, the ghost contacts would likely have stayed until our helicopters closed into visual range.
Missile defense - When a ship is attempting to protect a friendly from missiles, it only gets one missile defense save against the entire attack, not against each missile. So when I was firing on the Arleigh Burke, it should have gotten one save versus each incoming missile, and the Virginia-class should have gotten only one save against the whole attack, only shooting down one missile if successful. Had I fired on the Virginia, the Burke could have shot down up to two missiles, because of the Air Defense special.
Neighboring ships still get to make saves against each attacking aircraft though, not just 1 or 2 against the whole bunch.
I'm starting to think that when a helicopter is launched, it may launch and perform its movement at the same time instead of placing it on the launching ship and then moving it. That way the act of launching a helicopter doesn't immediately reveal to the other player which contact is a real one.
Still working on a good way to beat a really good missile defense stat, and wether fire is simultaneous or sequential, but hopefully these will help. I still need to grab a Kirov or something else with a good AA radius for my Russians, though...