I updated my TVHeadend system from a Raspberry 2 with Raspbian 8 to a Raspberry Pi 3+ with Raspbian 9 (Stock Kernel 4.14.98).
While everything worked with the old hardware/software combination, the 4.14.98 kernel has the problem discussed here.
Of the three possibilities mentioned above, I tried variant 2.
However, this fails: the newly built module is not loadable.
The error is: "dvb_usb_v2: Unknown symbol rc_register_device (err -22)".
However, there is a fourth way, which is quite simple:
I've updated the kernel to a new version with "rpi-update" - currently this is 4.19.37.
Now TVHeadend runs stable for some time. The bug discussed here usually occurred after a few minutes. Therefore I assume that this bug is fixed.
Note: rpi-update does not install kernel headers or resources.
If you want to build more modules for this kernel, you should note this here:
It is enough to get the source with rpi-source and run a "make oldconfig && make prepare" to build the source for the new module.