Let me explicitly offer a variant that I believe is acceptable for most players (it has been posted before by several players to a varying level of detail, I am just summarizing it here).
Instead of a win streak penalty-loss streak mitigation system, go with a reduced K factor for frequent opponents, regardless of who wins. So if e.g. player A has played player B many times (in a given time window), reduce the K factor for the computation of ELO exchange between the two of them, regardless of the outcome, and regardless of prior results, just based on the number of games they played in a given time window. This change will not distort the old ELO formula, it will just slow down convergence of players to their true ELO. This way, there would be no situations where one player is disincentivized from playing another player; the stakes would be lowered, but for both players, in a fair manner.
This variant would still have the desired side effect that it would be hard to obtain a lot of rating from one single opponent, thus cheating this way would be infeasible.
The details of the K factor reduction can be essentially the same as for the current win streak penalty, e.g. 3% after 1 game, 7% after 2 games etc., to 100% after 6 games. (Personally, I still don't like a 100% reduction, but in this setting, I could live with that.) The cutoff time for the games count can also remain at 1 week.
Let me call out to other players: do you find this implementation acceptable?