Yeah, powering stuff sucks. With ESP8266 you've pretty much eliminated the need for a data line for home automation, but you still need a power line.
My current solution (to be deployed in a week or two, after I get home): $2 Chinese fast charger with 4 USB ports (2x 2A, 2x 1A). I had a chance to test them personally before buying; they're decent enough for the task and cheap enough to buy a bunch. You can then use either an Arduino ($2-3 with USB cable) and ESP8266, or NodeMCU + $3 USB cable.