Hm. Still, I think at least for an /unobstructed/ shot, calculating the odds of hitting should give a more or less correct value, so it's clearly a matter of using a wrong formula.
While I am not much good at programming anything other than a DB, I am pretty good at statistics and stuff, so maybe could come up with a solution.
There is another way to skin the cat, too, though... What comes to mind is -- since the hit probability is calculated to above-zero only when you actually target an alien anyway, the computing overhead won't matter that much...
Create a "camera" view that'd render the target single uniform color, everything else -- a different single uniform color, with the angle based on the spread, then calculate a weighted area. Or maybe just pop it up in the corner of the screen and leave it to the player to decide whether it's worth the shot

(This is speaking of direct-fire weapons -- and do I assume right that wind/gravity don't factor in, only uniform circular or elliptical spread?)