I tried a few things and I found a way to avoid natural disasters in single player at least, it's simple when a natural disaster happens just load from your closest save and avoid the actions you took the last time (fleet moved to certain planet, personnel missions, construction) you don't have to halt all activity just keep your forces busy doing something else (send the fleet to a nearby planet, send personnel on another kind of mission, do construction on another planet) This has worked for me 90% of the time, my last game which lasted far too long (3900 days) I avoided five natural disasters with this method.