Hello, Codeforces!
I carefully read most of the ideas that are written in the comments and posts. I have no way to answer everything. Otherwise, I would only do what I answered. Excuse me. There are many good ideas, some easier to implement, some more difficult.
The following idea seems vivid to me. Idea is to limit the maximum rating increase for rounds where there is already an upper rating limit at registration. For example, if the upper limit is $$$u$$$, then your rating after participating in the round cannot be higher than $$$u+100$$$ even with a very successful performance. For example, after winning in Div.3 round the rating can't be more than $$$1699$$$.
It is easy to implement, it does not entail a significant redistribution of ratings. It seems I like it. What do you think about it?
Actually, probably a good idea is to make a bottom cap for rating changes: in any case of any (even the worst) performance, the rating shall not fall by more than $$$100$$$. Еverything happens during the rounds — there may be technical difficulties, force majeure, or just catastrophic bad luck. What are your thoughts about it?
— Mike