Is there a way to prevent predictive text from learning what the user typed
Unfortunately, this is not possible.  The only remedy is to reset the Keyboard Dictionary (Settings -&gt; General -&gt; Reset -&gt; Reset Keyboard Dictionary) and that too, is quite limited.  It’s an all-or-nothing scenario meaning if you accidentally added a misspelled word, you can’t remove just that one, all your custom words must go.
This is definitely something you want to submit feedback for:  https://apple.com/feedback/iphone
There is a potential solution, however, if you're willing to use a 3rd party keyboard - Microsoft Swiftkeys.  I've been evaluating it for a while now and have found it quite capable.  Specific to your question, it has the ability to delete individual auto-predicted words instead of having to remove the entire dictionary. It's contingent upon signing into the swiftkeys account so that it can back-up and store your dictionary and settings.

Swiftkeys is free with in-app purchases which seem to only be the themes.  So, if you stick to just the included themes, you won't be out of pocket anything for this app.
Bear in mind that this is a third-party keyboard and will require &quot;Full Access&quot; for full functionality.  This means that any third party keyboard can see and send what you type back to the developers.  Google's keyboard, while strong on features, seems to be a privacy nightmare.  While I don't trust Microsoft completely, I trust them much more than I do Google or other unknown app devs.
Why does my Microsoft SwiftKey Keyboard need Full Access?