I still haven't found a solution for my phone, but have repeatedly observed the following, which I hope will give someone an idea of what might work. My usual routine is to charge my phone at night, and turn it off when it is fully charged. Then just before I leave home for the day, I turn it on. From there, I spend about 20 minutes on the road, then arrive at my office, which has wifi. Often both the wifi and cellular data signals are weak in the office, despite the fact that there's an access point just outside my office, and several other points throughout the building. Anyway, the battery drains at 6-10% per hour in this situation, with near-constant CPU wakelock caused by mediascanner. A few hours before I head out, I plug the phone in to re-charge, removing it either when it's full or when it's time to leave. At this point, I leave it on at least until I get home, but usually a few hours after that before I plug it in again to recharge. Often, after this second charging, the battery drain is 1% per hour or even less (and mediascanner no longer using significant battery). The 20-minute drive home is on 3g/4G, then the wifi kicks in at home. Sometimes instead of going straight home, I go places on the way, where usually I'm on cell data, not wifi. In those cases, the battery drain is also slower, but tends to vary.
All this would make one think that weak signal is a likely culprit, but I've sometimes tried putting the phone in airplane mode for a while, which I would think would stop it from looking for a signal and thus slow the battery drain. But no, the battery keeps on draining, with "media" (or, according to Wakelock Detector, Mediascanner) is running most of the time - like 3.5 out of 4 hours. I downloaded DisableService (recommended on XDA as a possible fix), but it can't disable mediascanner because I don't have root, so that's no help. While there seems to be a correlation with location/signal quality and battery drain, mediascanner appears to be to blame, and shouldn't have anything to do with signal quality or type.
I've also tried removing the microsd card, and that didn't help, so if the phone is busily scanning media all day, it may be scanning the "sd" portion of the internal memory. But why would it decide it doesn't need to scan any more right after it's been charged while running, and left on after charging?