Coming at this from the other angle, I would argue that part of the emerging problem is that Railcards are simply not checked often enough. I think I get asked two or three times per year, maybe 3.5 if you include very rare occasions where TfL have asked for proof of Oyster discount.
This means that when rail companies do find people without a valid railcard they feel they have to throw the book at them, because they may have got away with it 20 times already. And a friendly policy to expiries within a month will just lead to calculating people squeezing an extra month out every year in the expectation that they won’t be asked.
If the need to show a Railcard were more frequent, rail companies could be assured that not much revenue has been lost, and a smaller charge (such as retrospective renewal plus an undiscounted ticket) could be levied instead.
On the other hand, as most railcards cost £30, someone using a standard railcard less than 30 days post expiry has deprived the railway of at most £2.50 of revenue (ignoring that railcards can’t be paid for monthly). Arguably they could be expected to swallow the loss for such a petty sum.