Maybe you don't want to center the problems served exactly on the player's rating. For example, I'm about 2170 standard, and I sure would not want half of the problems I get to be over 2170, because it seems any problem over 2000 standard is very hard and takes a long time to solve. But I would like a higher center-rating than I get now, which seems to be around 1600. A center around 1900 or 2000 would be good. So at least in standard, maybe some formula like this: If you are X points above the average rating of the problem set, the center of problems served will be 80% of X above the average.
It is unclear to me at this stage but I suspect there will be a rating drop that means you'll not end up getting 50% of your problem above the current level. I'll do some testing before rolling this one out, but I may start up with centering on users rating and quickly move to something closer to what you are suggesting if ratings don't fall.
In theory , centering on the user's rating should be the right thing to do, unfortunately the current selection system has created an artificial situation , but usually glicko should make your most closely matched opponent around the same rating as you. The problem is that the current situation may take a while to settle down again as users and problems settle at new rating levels so I might be forced to have a kludge at the start and move towards a "centered on user rating" approach over time.
Regards,
Richard.