Your comment intrigued me as I hadn't found anything at the time to support this, however this unofficial library exists to try to solve my problem: https://github.com/bmellstrom/esp8266-arduino-threads
Many of the solutions I had found talked about cooperative multi-threading, which doesn't work if I can't make the wifi stack cooperate with me.
Maybe I can make my device run that much smoother during wifi drops now!