Horrible episode in that many of the major characters did things out of character for their character. The acting was excellent so I blame the writers.
Holmes would have seen the man was carrying, would have deduced his intent and would have prevented the whole shooting. Additionally Holmes would have already done his background on the man and thus the whole stealing the phone would not have been necessary.
Bell would not have blamed Holmes for what was clearly the shooter's fault- indeed, Bell's on fault, for stepping into the line of fire on purpose. Bell's character had overcome his dislike for Holmes a long time ago- this incident would not have destroyed that. Refusing medical help that could mean his staying on the force just out of pride or pettiness is not characteristic of Bell.
The tendency to down Holmes in the last few episodes is just poor planning. Last episodes good points were negated in this episode making one of them feel unnecessary.