The subsidy is based on an exact integer operation.
And this is relevant how? Multiply the integer block reward by the integer network target, divide by the specific target. The reward will be rounded to the nearest satoshi but that's immaterial.
Implementation details should serve the design, not the other way around.
The subsidy is currently 5,000,000,000 units, giving you a lot of dynamic range to play with. That will not always be true. And rounding to the "nearest" satoshi can be gamed, for trivial gain at first to be sure.
Also, I'm pretty sure that your idea will create total chaos. Not less forks, but more.
Lots more. Like on nearly every block. Not at first, necessarily, but as the subsidy shrinks relative to the transaction fees for sure.