I do believe in many situations it is more moral NOT to help, NOT to take that underpaying job, etc. These crappy situations are made possible by people at the top. By giving into the situations and sacrificing of yourself you are helping the poor decision makers at the top to keep making poor decisions.
At some point a failure and rebuilding could ensure no child goes without school supplies. Continuing to sacrifice of yourself so a few extra kids each year can have school supplies may mean less kids get school supplies in the long-term. In some sense teachers aren't sacrificing for the children, they are sacrificing so the shitty administrators and government policy makers can keep their jobs.
Public education isn't a capitalistic enterprise. If anything, they're letting it collapse so that they can replace it with more capitalistic alternatives like voucher programs and charter schools (which is just a way for fundamentalists to have the government pay to support their indoctrination efforts).
The only power the average worker/teacher has is their ability to say "No, I won't do that" and even then there is only power there if many are willing to stand and do that together. Sacrificing more and more so those above you can continue to say "see, it works fine. I can continue to extract as much capital out of this system as possible, because the teachers don't really need it" is a really terrible solution.
More workers need to say "NO", not bend over backwards because they are more empathetic than those at the top. The ones at the top count on that empathy and do use it against you.