Well, if your league has been going on for a while, drafting patterns should be pretty well set by now, so it should be easy to avoid that kind of thing. I typically take a 2-3 year average and put it up against a recent snake draft ADP to get an idea of expected cost for a player and formulate several distinct game plans.
But before you beat yourself up about players you could've gotten for an extra dollar, remember, that's not the way it works. The person that drafted that player, more often than not, wanted that player. You guys could've easily been +$1-ing each other quite a bit. So while I tend to beat myself up the same way, I try to remind myself of that fact.
Also, you're not filling your bench with "really cheap players." You're filling your bench with $5-$10 players for the price of $2-$4. Of course this is situational. But the only leagues I've ever had significant money leftover (>4%) were leagues where people went crazy top heavy and left a ton of bargains at the end, so the trade off wasn't terrible and I was still very competitive.