I think we are not redesigning how rewards are issued - we have to focus on the problems that was presented by the OP, we want to discourage those who swap in and out of the pool, not give more rewards for those who stay for months.
Here is an example of how my proposal will work:
==> User A deposits 10 ohm, lets say rebase interest is 0.5%
transaction goes like this
Fee: (10*0.005)=0.05 ohm
Deposit 10-0.05 = 9.95 ohm deposited in to pool
Fee burn 0.05 burned
User A now has 9.95 OHM staked
==> User B deposits 1 OHM, same debase fee of 0.5%
transaction goes like this
Fee: (1*0.005)=0.005 ohm
Deposit 1-0.005 = 0.995 ohm deposited in to pool
Fee burn 0.005 burned
User A now has 0.995 OHM staked
Each user simply paid their next rebase and that is it - that is the cost of entering the pool.
It keeps people from swapping in and out and the lager the amount staked the larger the loss. User has to stay for at least one re base to recoup the loss(yes I know it will not perfectly cover the fee but it is not relevant)
Again we are not redesigning reward system - we want solution for swapping in and out. And that is easily done by attaching a cost that makes it impossible. If you keep swapping you will be loosing OHM and not getting rebase rewards.
I am strongly against locking periods, this is crypto things move too quickly for that. We have no idea what will happen in 2 months.