Dunno if this will help others, but I think I have identified the source of my own overheating problem.
After upgrading to iOS 10 I noticed that one of my notification widgets was wonky -- a large but empty reserved area with only the app name at the top. I didn't really give it a second thought, figuring that an iOS 10 compatibility update to the app would probably be forthcoming.
After first revoking all background refresh capabilities to no avail and killing all "legacy" apps in the task manager to no avail, I set about killing the most recently (and most often) used apps one by one and monitoring the device's temperature after each app got the axe. Sure enough, after I killed the app associated with the wonky widget the temperature dropped. I disabled the widget, rebooted, and restarted the app without installing the widget. The overheating problem has ceased and battery life is back to normal.
I shouldn't think a runaway app or widget could have this effect, but such appears to be the case. I'll be interested to see if the problem persists when the widget is installed after the app is next updated.