> Obviously one could have thought of this before marrying and putting kids in school in the town with one tech firm
this was going to be my response, but then you said it yourself :)
The more intelligent and self-responsible act (which is hard, i know) would be to move to a better place before making extremely serious life choices such as marrying and having kids.
same goes for partner finding - don't marry a crazy partner and then say 'I married a crazy partner and now we have 2 mutual children. i cannot leave, i am stuck with this crazy person who is also the parent of my children.'
and i know it is hard to find a non-'crazy' employer and a non-'crazy' partner- but this should be your goal and target, shouldn't it ?
also, you get better as time goes by, even if you don't want to (as long as you are a bit intelligent) - bad companies/life partners will present themselves as red-flags on an interview/date . and it is your responsibility to detect those red flags .
(edit: refactor the last paragraph)