I doubt that he was on heroin, it tends to make people a little more mellow. I would guess a central nervous stimulant would contribute to Brown’s aggressiveness given that he was facing an armed officer.
I think adrenaline might qualify.
In my long ago training as a boarding officer, the rule was if you are in the situation where you must shoot a perp, you keep pulling the trigger until your runs out of ammo or the target is clearly neutralized. Then quickly reload.
He had just committed aggravated robbery and was pretty well amped up just to be confronted by police within minutes of his crime. Even if the officer did not know he had committed robbery, Mr. Brown surely did.
I doubt that four 9mm bullet strikes to the arm of a charging 300 pound guy -- just running on his natural adrenalin -- would stop him immediately.
The head shots were the ones that likely stopped Brown.
Notwithstanding what the "expert" Dr. Baden said, I think the general idea is to neutralize the threat, and that requires that one keep firing until the threat is neutralized (or one runs out of ammunition). If Brown was still running towards Wilson and he believed that he was threatened, the correct response would have been for Wilson to keep firing. He would have had no idea if his shots hit his target or not.
The record should show where Brown ended up, and they should know where the spent cartridges ended up, so determining the approximate positions of both Officer Wilson and Mr. Brown shouldn't be awfully difficult.