Firstly, and many long time coaches could back me up on this, I think the crappy players you get now are much better than the crappy players you used to get... you new guys are so spoiled. =)
Secondly, I think the system tends to get players for positions that are considered short (by their standards, not necessarily yours). If you are lucky (and already fairly balanced) you might just get a second punter as penalty for your bad recruiting. But if you only have 1 qb or te, you'll probably get a crappy 2nd one. If you don't sign a kicker, it'll probably get you a kicker. Yeah, its not always going to get you exactly what you want but its not going to get you your 7th, 8th or 9th RB either.
Finally, if you are really particular about the type of player or the depth of positions, you have an entire week and a wad of money to make it happen. A big part of the complexity of recruiting is knowing how and where to spend your resources. In order for all teams to be reasonably competitive, the game guarantees you a full 50-man roster. Not knowing what you'll get is all part of the failing to manage your resources properly. If you take away the penalties for doing a bad job (like letting coaches pick what positions will be filled when they run out of money), people will find more ways to abuse this part of the game. Recruiting's not perfect and there are many ways they could make this meta-game better but it is pretty well balanced within as it stands right now and I don't think this suggestion would improve the current game.