The only known solution for these problems is to have an oracle inject the necessary "knowledge" into the blockchain itself and then have the smart contract code work with this data, that is then stored on the chain forever and thus makes everything deterministic again. But the oracles come with their own sets of problems, like them just being another "trust anchor" (and they're one that you can't validate the code of, since the oracles themselves by definition have to reside outside of the blockchain, it's just the data that ends up within it) or the giant pollution of the blockchain with data that they cause.
Even these very simple examples don't pass the reality check on close inspection.