From the programmer side of things:
Firing at spawn is normally not causing anything other than actually entering the game if the server admin set things up to let you spawn manually by pressing your fire button/key.
Lag and a bad connection is the reason why you sometimes fire your weapon at the same moment you spawn. This happens even if you only hit the fire button once and were 'patient' to wait till you actually spawned.
Reason is simple... the client sends an info to the server that you hit the fire button and due to the lag, packet loss or whatever the information is send and/or verified more than once. So the server thinks that you still hold the fire button. Or, if you were impatient, you actually hit it a couple of times and the server only gets the key/button presses a bit too late.
So, the only possible fix would be to use a different button or key. best would be one with no other functionality of course, to avoid you to ie, open a door if you spawn right next to one - for the case of using the grab/use key.
Coding... should even be doable by a mutator that then triggers the same stuff that the fire button would normally do, but without using the fire button input of course.
It would even be configurable by the player, which key to use to 'simulate' the fire button press on startup. Should be easy stuff...
But, is this really needed?