I've thought of doing something like this before, but never took it all the way through design. My suggestion would be this...
Start by blacklisting every player in the top 25 records:
http://www.whatifsports.com/mlb-l/records.asp - This would be all current recordholders in single game and season for Open League, Theme League and Champion League for Individual Batting and Individual Pitching. This will give you one heck of a starting point to cut out the cookies.
Next, have everyone who signs up add an additional player to blacklist. This allows for some customization and might nix some additional cookies. Only do this for the first time they sign up or for a replacment owner though. Why limit this? I think that a dynamic blacklist based on usage is more fun...see below.
Once the seasons begin, I'd add every player that appears on 3 or more rosters in a single season to the blacklist. If 1/8 of the league thought they were good enough to draft, then they probably are. This makes team building more fun as owners will try to dig deeper for different players and would prevent copy-catting rosters going forward. You could also blacklist based on career usage, meaning if that player is used 7 times by any team in the history of the league, then he is also blacklisted.
This means that as you progress, teams will be more and more obscure and tougher to build because you will be truly blacklisting the cookies that appear in your league. Just my thoughts...