What a terrible thing to wake up to! Have to say, we've been there, done that a time or two. I would run the numbers in my head, vaguely assuming enough was in there, and then bamb, I'd check the account and all I'd see was red. I too, thought it was all my fault, because I could have said No to the extra things we spent our money on, but really, it wasn't the stuff we bought but the style that we were managing our money. Now, instead of me not wanting to be the "bad guy" and tell dh that we don't have the money for something, he sees it for himself. We budget and balance the checkbook and pay bills together, once a week or so, after ds goes to bed. We literally debate on the things we might need money for over the next week (haha, tomorrow I want to go to the Pumpkin Patch and dh wants to play airsoft...so I used our ds's vote and pumpkin picking won

).
But, we figured out a long time ago that we each have way different ideas for the "little" things on our budget, and that can lead to even more frustration when all we do is fight about it. So, no matter what situation we find ourselves in at the end of our weekly finance meeting, we spend some very important mommy/daddy time together

and those little things usually work themselves out fairly easily.
It's just money, it will all work out. I would switch banks to a smaller, local bank if possible. They just are more likely to work something out with you on the fees. I would slam the insurance company or the bank, if you could prove that you didn't authorize the transaction until the date you thought it would be withdrawn. Or, you could do it the way dh's grandparents choose to do it, which I initially thought was crazy...but it works for them...their SSI checks are direct deposited, then they withdraw most of that from the bank, they wait for their bills to come, then they attach a money order from the post-office and mail it off. A little more work, but they never spend more money than they have