So one way you could do it is by minting NFTs that have a URL in their metadata that links to your server hosting the corresponding metadata - not IPFS.
Then you can easily change the metadata independently of what's on-chain.
It is not very decentralized, since if you're server goes down the NFT's corresponding metadata is not accessible but it gives you the ability to update them without having to create another transaction.
Alternatively, you can use a so called time-lock based minting policies which allows you to change or update tokens up to a certain deadline.
That way you could burn and re-mint a given NFT in the future to update its metadata. But again, trust is required since you basically are in control of the NFTs at all times.