That seems like a good solution. The difficult part is keeping miners in sync about which rules get delayed.
Yes, the most straightforward approach to solving that would be to code it up across the full node clients so that they don't have to apply it manually.