Does you second rule mean that you get more than 3 keepers? So are you saying, "before the draft, each team has three untouchables. And then during the draft, if a team drafts one of the other unkept guys from your last year's roster, you get to announce a 4th untouchable."
If that's what you're saying, then that's a very big advantage to the contenders. It's only natural that the best teams would have more guys that are keeper worthy, so they will own the first players drafted, which gets them yet another keeper. If one of your guys is the first pick in the draft, you essentially get to make the second pick in the draft. You're limited to your own roster, but if you weren't meant to make a draft pick until number 12 and now you get to pick second, that's pretty unfair.
Then rule number 3. You're rewarding number 5, but you're punishing 10, 11, 12. Why is the 12th place guy getting the 8th pick and the 6th place guy getting the 2nd pick? Why not make it 5, 12-6, 4-1? You already have likely the top 20 players off the board because of the 3 keepers, and probably the top 25.
If my understanding of rule number 2 and 3 above is correct, the 12th place team will have nothing of value left by the time he picks because 14 more players have been taken off the table by the time he picks. He's screwed.
If my understanding of rule 2 is correct, eliminate it. If people keep three players, they keep three players. They have no more right to the remaining guys on their roster.
You didn't mention whether you had a price schedule for keepers, so I will assume not. What this means is that everyone's first 3 draft picks are their keepers. Some teams will have three top 15 players and will be psyched with their picks. Other teams will have only one top 30 pick and will be forced to keep guys that aren't really worth the spot. You can add an option to NOT keep players, so the guys with very weak keepers are able to leap ahead of round 1 and get the top players who should have been kept but were on a stacked team.