You could program whatever logic you want into the insurance. For example, some kind of dispute resolution system that appeals to a higher authority.
How do insurance companies deal with this problem today? Why do you trust the insurance company not to lie and say that the weather was fine? Whatever that mechanism is, it can be programmed into a smart contract.