Online typically has more like 5% rake, and brick & mortar places have 10% around here, but your general math is sound. The site is giving up an awful lot of revenue if cashouts are raked, and raking cashouts is hitting people in a way that make the fee really "in your face."
Note that the cost of running an online site, per table, is quite low, so they have wiggle room.
Here's an idea:
Charge a typical 5% rake. Site calculates rake earned from each player. Loose fish generate much more rake (early calls make the rake; sharks raising in later rounds are usually betting over the rake cap, anyway.)
24 hours after cashing out - or 48 hours of no play - the site automatically puts 1/2 the rake earned over the prior three days right back into the player's account, and notifies them. It's not called rakeback, it's just "action reward" or something. This draws the fish right back, and rewards them in line with the action they generate. It doesn't reward rocks and bots, who generally don't contribute as much to the rake, and who don't want to stop playing for two days to get the reward. It definitely encourages recreational players and entices them back.