I think you should ignore the teacher. In my book, she lost credibility when she started publicly shaming her students. It sounds like she has some kind of ego problem. Such a shame your son and others had to put up with her this year.

However, I would have a bit of a hesitation putting my son in an honors class in HS if he was getting Bs and Cs going into it. Remember in 9th grade, the grades start to count and I would be concerned about that. What does your son say about the C? Does he understand everything? Or is it obvious the mistakes he's making are trivial, but add up to lots of points lost? It's very possible he's just not careful enough, but it's still worth a pause to make sure honors is the right placement.