There is a statistical margin of error. They will need to make many such predictions. Also, the act of predicting an event might cause it to become more or less likely to occur.
Make the prediction, encrypt it with a private key. Release the encrypted prediction with a "do not open till...". Release the public key at a given date. This way the prophecy won't influence the future.
What kind of cryptography do you need to use, in order to avoid the prospect of two different predictions, encrypted with different private keys, resolving to the same encrypted text?
I've never heard of anybody being able to achieve something like that. If you have some examples please share. For all practical purposes I'll say it is not possible. Especially if you are using AES.