On the off chance you are really looking for a reply instead of just ranting,
A) Where the option expired is not relevant. There was a risk that it would have been in the money and be auto exercised in an account with not enough money to pay for the stock. You say they could have waited until 3:59 to see, but this isn't really practical. You aren't their only customer, they simply can't do this for every customer in your position in the last minute of trading.
B) Filing a contra exercise form for you if they expire in the money would create other problems. I can hear you saying, "these options were worth 2 and the let them expire worthless" Better for them to deal with the problem in advance.
C) You say that stock could have been immediately sold for a profit. No, that's not true. You would get the stock on Monday, and it could be a lot lower.
This issue could be fixed if you traded cash settled indexes where there is no risk of stock being assigned to you.