It probably would be better to have a gradual reduction but don't waste time thinking about it. It will never happen. A hard fork requires a super majority of users including miners. So for the sake of the argument lets assume everyone except miners already supports this by a massive majority. For the forked chain to be secure it needs a majority of the hashrate so the developers put into the code a phase-in once a certain percentage of miners support the change. To avoid confusion and chaos it needs most of the hashrate something like 80% to 90% not just 50%.
So imagine the code is deployed right now. Miners can either mine ver 3 blocks (25 BTC) or they can mine a ver 4 block which will start the subsidy decay. Once 80% of the last 1000 blocks are ver 4 the change in subsidy will be implemented (say 24.9 BTC). You are asking the miners to vote on if they would prefer to receive 25 BTC or 24.9 BTC. Same work, same effort, same cost less Bitcoins and they need to vote to make it happen. If they don't vote for it they keep getting 25 BTC if they do they get less. It hardly matters that in the long run it will all even out. The miner who would need to 'vote' for the change (by mining the version which reduces the block reward) may not even still be mining by the next subsidy halving.
Who votes to give themselves a paycut when they don't need to? Nobody.
If you implement it in the first ~100,000 blocks after a halving, the reward will actually go
up in the short term, so miners will prefer the change, assuming they'd rather have more BTC now. It would be cleanest to implement this at the start of a halving IMO (so it doesn't jump around so much), which would e.g. mean that miners get to mine 17 BTC blocks instead of 12.5 BTC.
To understand why, understand that since we still want it to end at the same time, with the same number of Bitcoins mined, each 4 year block will still mine just as many Bitcoins: blocks 420k-630k will still mine 2625000 BTC (12.5 BTC/block, avg) altogether. But instead of "BTC per block" being a flat line for those 210,000 blocks, it'd be an exponentially(?) decaying curve, so it will start out higher and then go lower: for the first almost-half of the blocks, the smoothly-decaying curve is higher than the flat line.