Not sure that the precise-i386 bit does anything other than set the architecture to 32-bit (i686) and then name the output file. It doesn't change the target binaries AFAIK.
You're using static ffmpeg (--enable-libffmpeg_static), so 'make' downloads ffmpeg, compiles it and statically links in the required libraries. You will keep using whatever version you downloaded when you first built it, however, until you either 'make clean' or manually remove the libav_static directory in your build directory ... I think we're currently using ffmpeg 2.6.3, so check in libav_static for that.
Perhaps worth trying a build from a different system, just in case something's up there.
I'd still test what happens when you use the same profile to record a file, as that might at least give something to analyse. I'd also try ts as a container as it's theoretically lower overhead - especially if you don't rewrite the PAT/EIT/etc. Along with the errors you posted, it sounds like you're losing sync frames or timer 'ticks' in the stream - but, as I said, I'm no expert here. Might be worth popping over to #hts on freenode to see if anyone there uses transcoding and can suggest what's up.