Currently testing MQTT stability on an ESP8266 running the LUA firmware. The data then gets JSON formatted and sent out the serial port to the ATmega328p.
The stability is poor right now so it doesn't last long before hanging up. Therefore no longer processing MQTT subscriptions. The other option is to try the Arduino IDE to code and program the ESP8266 or go all native.
Another option I was thinking is to redesign the PCB and use a ESP-13 to run the entire project. That is if the ESP8266 can be reliable.