I ran into similar situations.
Unfortunately, if the Summarizer (with those options) isn't already in the status "available", then you won't be able to escape this.
If I understand correctly,
navigator.userActivation.isActive
must be true for the create call to succeed.
So you could check explicitly for userActivation, but this will only help you predict whether the call to create will fail - I can't help directly not help to create a situation where it will succeed.
What should work, is check for user activation directly before the call to create(), and when you find isActive is not true, exit the current workflow and pop up a modal dialog to inform the user the action is taking a little longer.
The dialog should have a "Ok" button which would close the dialog, and then inside the click event handler for that button you could you try to create the Summarizer.
(Once you created the Summarizer, you can cache it somewhere for later, repeated use)
I think that in theory, it's possible that before the call to availability, the userActivation could be true, while it might not necessarily be true anymore when availability resolves, even if it returns the status available.
(This is based on my understanding that userActivation uses a timeout-mechanism)