Yes I believe that schools should have a zero tolerance policy in place and they should always use the zero tolerance policy when needed.
That goes for bullying as well and if they catch a student bullying another student I think they should immediately expel that student that is bullying.
However that doesn't meant that the student won't bully other kids at other schools but it can help somewhat and I think there should be a law put into place where a student can be arrested for bullying other students.
They should then be taken to Juvenile detention and serve at least a few months in the Juvenile Detention center cell.
As for bringing guns to school and other dangerous violations they should also go to Juvenile detention when caught.
Zero Tolerance policies are not always effective in schools but they can and do help some so yes schools should always have zero tolerance policies in place.