Why did the runtime on battery drop to 30-50% with a good battery, with no system updates to blame? I have a MacBook Pro 5,1 running Yosemite 10.10.5.

After replacing the battery, it has had excellent runtime on battery for about 6 months. Then the runtime had suddenly dropped by a factor of 2x-3x. The battery still has 95% capacity remaining as indicated by coconutBattery.

Nothing seems out of place in Activity Monitor, there are no apps using significant energy, yet the idle power consumption as indicated by coconutBattery is never below 15W.

The runtime reduction did not coincide with any Apple updates.
TL;DR:  If SystemUiServer causes about as many idle wakeups as kernel_task and you have iStatMenus, turn off all of iStat's widgets, then turn them back on. If you don't have iStatMenus, suspect other menubar widget applications. The SystemUiServer should have &lt;10 idle wakeups.

I have another hardware-identical machine running El Capitan 10.11.6, and it doesn't suffer from excessive battery drain. When comparing the Activity Monitor CPU panes, ordered by Idle Wake Ups, the entries are similar, except that the SystemUiServer entry has very low wake-up counts on the El Capitan machine, and 100x higher counts on the problematic system - on par with kernel_task and in 300-500 range.

A search for issues related to SystemUiServer prompted investigation of widgets installed in the menu bar. On both machines, the additions over stock install are: iStatMenus 5.31, Caffeine 1.1.1 and OS X's Keychain lock.

Upon disabling all widgets from iStatMenus settings pane, the SystemUiServer became idle. Re-enabling the widgets doesn't bring the problem back. Further checks after a reboot and then after a shutdown-restart cycle show that the problem didn't come back.

The battery life is now normal. At idle, with screen at minimum brightness, and google.com open in Safari 10.0.3, coconutBattery 3.5.1 indicates a discharge rate of ~10W.