Can JFFS2 not mark dying blocks and decline to use them in the future.
So maybe the file system will get smaller instead of suddenly dying. Or
perhaps JFFS2 sets aside some blocks for future use as a replacement.
If so this count should be definable and you might be able to tune the
flash lifetime against size.

Maybe for your dynamic "file" it's a better idea to do your own storing
functions on top of MTD instead of using a file system.