Yeah, I think selling albeit limited seemed to work well. I think some minor adjustments can be made - and then we just need everyone to agree to them.
Here's one proposal.
1. Everyone gets to sell one keeper for "free." Rules are the same for purchasing team. The seller gets proceeds added to their FAAB budget, calculated as 50% of the difference between Yahoo draft projected price and keeper price (no cap).
E.g. Team A purchases keeper player Joe Blow from Team B for his $1 keeper price. Team A draft budget is reduced by $1 and can now only select 2 keepers from his own roster for the coming year. Yahoo projected draft price for Joe Blow is $55, so Team B gets (55 - 1) / 2 = $27 added to his FAAB pool.
2. Additional keepers can be sold under valuation rules above, with proceeds added to sellers' draft budget (capped at $20/10% of draft budget no matter how many players sold). Each keeper sold reduces the allocation of keeper players Team B can hold for the year by the same number.
E.g. Team B, after selling Joe Blow as above, agrees to sell additional keeper player John Smith to Team A for his $1 keeper price. Team A draft budget is reduced by $1 and can now only select 1 keeper from his own roster for the coming year. Yahoo projected draft price for John Smith is $35, so Team B gets (35 - 1) / 2 = $17 added to his draft money pool and is now allowed to hold only 2 keeper players for his own team. If Team B sold a third keeper, he'd get those proceeds (up to the $20 cap) and only be allowed to carry one keeper for the coming year, etc.
The reason I advocate this approach is that it gives a big incentive to owners to offer for sale their low priced keepers and those with values far exceeding the keeper price. A lot of the proceeds will get put into FAAB budgets, thus maintaining parity in the draft and encouraging higher bids on WW players.