I am a felony prosecutor so I can offer some commentary on this issue. My first piece of advice is to find a good criminal defense attorney in your area. A good resource to find such an attorney is to ask your local cops who they would have represent them in a shooting or who their local Police Union or lodge uses. Once you've found him or her, have a meeting and discuss the situation with them. Have their card in your wallet so in case you ever do blast somebody you have someone to call. Three more comments on defense counsel. First, you want one that has the respect of the local prosecutor. Some do, many do not. There are defense counsel whom I have a great deal of respect for, there are others who I don't (and that would be putting it mildly). Since you will be communicating with the cops and your local prosecutor through this person, you want someone they respect. Second, this attorney probably does not advertise on TV. Third, don't just use your tax, probate, or civil attorney. They probably know less than you do about criminal law.
There can never be a complete answer to this question given different jurisdictions, social mores, varying politics, etc etc. What flies in Arizona, may not in New York. What flies in Marciopa County, Arizona, may not in Coconino County, Arizona. Defensive uses of firearms that I thought were completely justified have been viewed as unjusitfied by other prosecutors - leading to some spirited debates. The dilemma a self-defense shooting suspect faces is trying to give the authorities enough info so that they have some evidence of justififcation and they don't charge you (note I am not talking about arresting you) WITHOUT giving them info which can be used against you. So most of the communication that you do should be through your attorney as what they say can in no way be used against you. Note there is no embarrassment about communicating through or contacting a lawyer after a shooting. Most police do so after shooting someone.
One school of thought is that you should lawyer up immediately (by lawyering up I mean invocating your right to counsel as soon as you come into contact with police). This is easy to remember but will probably be hard to do as most people will want to explain what has happened. It certainly keeps you from saying anything stupid as you won't being saying anything. Of course not saying anything will leave the responding police with little to no idea what happened.
Another school of thought is to give the police just enough to let them know what's going on and then lawyer up. This has the advantage of letting them know what's going. The difficulty will be in shutting up once you start talking. Saying something like "He attacked me/my wife/the school children/etc and I was in fear for my/their/our life or lives. I'm really scared, I want to let you know what happened but I need to contact my attorney first," may be something to consider.
Yet another school of thought is just to let them know what happened. This will give the cops and prosecutor information more quickly. But remember you're going to be pretty amped up. And also remember that what you consider to be justified may not be so by the authorities. Your statements may or may not match those of other witnesses. On the other hand, your statements may provide enough info that provides adequate jusitification and the prosecutor will not charge you and you want to avoid getting charged at almost all costs.
I cannot tell you which will work for you in any given situation in any given jurisdiction.
One final caveat (although it might seem stupidly obvious), I would always communicate with police if there is an active ongoing threat.