I think they're missing the "must be able to be taken seriously" factor.
You don't throw foam balls. You throw staplers, binders, entire backpacks, textbooks, heavy large objects, so they can't shoot anything and hopefully drop their weapon.
IMO they should just put weapon safes in all the classrooms that unlock when there's a shooter, giving all the teachers shotguns or some such when there's a shooter would help more than telling students to throw things at people. Plus, it'd deter a lot of people from trying anything as well.
...Also teachers walk into classrooms unannounced during lockdowns sometimes and it about gave me a heart attack when the VP walked into ours during a real lockdown. (Student with an actual gun, police dogs roaming the halls and everything. He apparently didn't want to just murder randomly though because he never actually drew the gun. IIRC it actually didn't start because of him but they found out about someone having a gun a little while into the lockdown.)