The first round drafted players from last year are not keeper eligible. This helps the league because it gives the draft pool higher quality players. Otherwise every year teams would likely stack up there first 4 picks. now you will find that these top players being in the draft will make it a hard choice for teams to decide to keep 2nd round guys. Would you keep Jay Bruce as your first pick when Stanton, Votto, Braun, Kemp, Cargo are available? Well maybe if you drafted after the 8th round, but this rule promotes value picks (throughout the draft).
Our league developed its own keeper system 5 years ago and it works very well. (I will email it to you if your interested). In our system, players can only be kept in the 1st, 3rd,6th,10th, and 15th rounds. If a player was drafted on or before the keeper slot he becomes a keeper the following year at the next lower spot. (example: a 10th round pick and a 14th round pick both become eligible as a 6 round keeper).
Players with same round eligibility can be stacked (3 6th rounders will be your 6,7, and 8th pick). All these player graduate for the next season to the 3rd round (prevent gaming the system).
It is the same principals as earlier, but this system gives less advantage with keepers. In our league, some teams (the ones that challenged for a championship) will likely not have 4 quality keepers. They sometimes choose to keep less than the maximum becuase the keeper values are projected less than draft value.
I think for snake drafts this system works best...