So, after much testing I've switched over to BME280 sensors on both the indoor and outdoor units. The old sensors were working well but a single integrated sensor that's reliable and cheap it a clear win.
I've also added an OLED screen on the indoor unit for display, while the old 5110 screens were neat, they were ugly and the backlights were terrible. The downside is the OLED screen chews up a ton of RAM on the atmega328 based controller.
Finally, I've given up trying to run the entire indoor unit via just an atmega328, with the OLED screen there just isn't enough RAM, and so I've added an edison talking over serial to the indoor 328. The Edison handles internet communication via a python script, and stores the wind gusts and rain per minute for 24 hours (something that wouldn't be possible on the atmega alone).
I could probably run the entire thing off the Edison but since this is my first python programming I'm taking it slow, still it's now reliable and accurate and my original Lipo battery in the outdoor unit is still running without issue. I could almost certainly use a smaller solar panel as charging back to full happens in about an hour of partial sunlight.
I'm seriously thinking about changing the radios to something with a little more range and am looking at a simple 433Mhz serial radios available just about anywhere. It will mean running software serial on the receiver unit, but I don't think that will be a problem