For $3, I would (and have) call in to complain. I would keep the conversation civil and polite, but mention that you would like to keep your account with the bank if they could help you out with the fee charged last month (plead ignorance, you weren't sure if the $300 balance applied to the daily minimum or month-end....). Generally speaking, first-line call reps are authorized to credit back a small fees charged to a customer's account.
I would then begin taking steps to switch banks. I personally prefer ING, but banks mentioned by the other posts would also work.
One last thing, if you don't want to use an online bank, I would then recommend a local credit union.