What's currently the best option to use TVHeadend with Android TV?
My experience so far (Mi Box and Shield TV):
Kodi on Android TV seems to work most reliable. including EPG, logo's, PVR and timeshifting. Unfortunately there's an issue which makes it cumbersome to browse channels (which is supposed to be fixed in Kodi 18). And most importantly, it doesn't integrate with the Android TV "experience", e.g. Live Channels. Switching between Kodi and Android TV just takes ages.
The TVHeadend Android TV App integrates with Live Channels just fine. EPG takes some time to update after starting, but seems to work okay after that. Unfortunately there's no (functional) PVR and timeshifting support. More over it is unusable because the actual streaming only works sporadically . This seems to be worse since the Oreo update. Disabling EPG-sync seems to solve it, but that's not really an option for every day usage of course. Based on the github activity there's currently no indication that this will be solved in the very near future.
I currently use the TVHeadEnd App with the Shield running Oreo and it works fine on my end. I haven't experienced the issue described on Github. Currently that is the only optimal solution, if you need EPG and Timeshift support you have to use Kodi and wait for a fix. Outside of these two options that's it unfortunately.