I like the idea in its essence. Some open questions:
How does it scale to > 23 validators? (e.g. How does this look like with 100 validators?) Ideally it should work nicely even if max validator num is voted to be larger or smaller by using scaled values, rather than using hard-coded numbers.
In terms of implementation - what is needed? Has the cosmos-sdk codebase that is relevant to this (see x/distribution module) been looked at? Core devs only has time to do so after Stargate. If we have consensus on the idea, ideally the patch can be funded by SDF too.