While I agree that military folks should be armed, let's get part of this story straight. The shooting did NOT occur in a gun-free zone. The shooter fired from inside his vehicle in a parking lot where people are most definitely allowed to carry guns, where local CHL'ers certainly could have tried to intervene had they been armed and willing.
Even if the military had been armed, it is unlikely that given the speed, surprise, and violence of action of the event that the poor Marines would have been able to respond.
What John Lott apparently has failed to realize is that we don't arm our military for a variety of reasons. Firstly, we don't trust them with weapons and haven't trusted them with them for decades (since at least WWII). In the 70s, there was a cute story about a soldier at Fort Bliss on guard duty who suffered a surprise inspection by a visiting general. When asked the effective range of his weapon (M-16), the guard replied 20 feet or some such nonsensically short distance. That upset off the general until the soldier explained that the effective range was accurate as that is all the further he could throw the rifle....they don't issue guards ammo for the M-16.
Heck, even the military relies on the police to respond.
Second, we fear being a military state if our military is allowed to carry around firearms, intimidating the good citizens.
Heck, I think the military should be armed and should be protecting our own borders, but we provide more protection with the military outside of the US than we do inside of the US.