To reduce the amount of data traffic, I'd use a pseudo-random number generator where all computers in the game make use of a single timing pulse and shared seed value.
This means that if my computer picks a random number ninety-seven frames later (for example), yours would pick the same number. Thus, you don't need to get this information over the net, but simply from your own machine. In an ordered game universe of this kind, and NPC ship represented on 'X' different computers would move in the same way, and fire at the same time in each case. You don't need to communicate the sprite positions to all participants. The only factors which are unpredictable are the actions of the players... so these are the only things that require bandwidth.
The 'wobble' of a missile affected by ECM would be the same on all clients. The vector of each asteroid would be the same on all clients... and so on.
I feel that this is a professional programming proposition, though. Ordinary folks like you and I just can't devote enough time to such a project. It would stand a better chance of being finished and released - at a higher quality - by an organisation that is commercially motivated.
------------------
(url="http://"http://www.geocities.com/evodude2001/home.html")Old & Unimproved: Cerberus Station!(/url)