Mmm, the only issue I have with ts files is that you pretty much have to fix 'em with ProjectX and re-wrap them before you can do anything else bar watch them - at least, that's my experience.
If you want to trim out adverts, for example, ts files don't seem to show timecodes - since they're streams, I guess, so there's no concept of "how long is this programme/clip" - so it's impossible to say "cut the adverts out from xx:xx to yy:yy".
You can re-wrap into mkv as you say, but pop this into mkvmerge and it still won't work - yes, it looks okay, and yes, you can start the cut, but the errors in the ts stream really confuse things as the cut proceeds, to the point at which it just fails. I suspect it's a lack of I-frames or something like that. So I gave up on ts streams and went back to mkv (one of the reasons I settled on tvheadend instead of, say, Argus/4TR) - YMMV, of course, depending on what you want to do.
Have you tried a straight ffmpeg re-wrap of the tvheadend mkv file? Does that help at all (i.e. is it the elemental streams that jitter or is it the container)? It would be just as quick as ts to mkv, and you might have a better-formed file at the end of it. Then again, you might have the same dodgy streams in a shiny new box instead :-)