Thanks Everett! yes there's definitely seo benefit from having the title in the URL, and I think it's pretty significant - from what I have seen previously when we made a massive url changes for one of the websites I worked on - went from /{id}/ to {id}-{product-title}. Also there is a study shows that display url in search results is still a prominent element to influencing searchers' clicks. This is from 2012 but I think the same still applies today. http://research.microsoft.com/pubs/155941/domainbias.pdf so I'd prefer to have the titles included.
It is completely possible to make the very original static, and that would be my preferred option - but we need to assess whether the changes were made because they were "mildly" or "totally" incorrect in the first place, and also at the same time need to convince others - who feel keeping the original urls (when the product titles change) would worsen ux.
301 redirects would be totally mental - so this would not be an option. Also adding canonical tag to the "non-original" urls method - potentially ok in the short term.
I think using static (hardcoded) urls would be the only long-term solution.