Hi Gemma, interesting question! I'd consider a few things;
- While the product pages rank well for long-tail keywords, are they driving much organic traffic or, more importantly, organic revenue from people landing on the page?
- If it's possible to reuse the pages for new products - what are the downsides?
- What would the best user experience be for out-of-stock products? How similar are the new ones to the old ones?
In terms of question 1, if these product pages are numerous enough to be a source of concern, I'd want to know if you're getting any benefit out of them being indexed. If not then removing them from the index could be a simple solution and would help avoid things like searchers landing on an out-of-stock product. E-commerce clients of mine have often found that organic conversion rate for sessions landing directly on product pages tends to be worse because it's relying on the visitor wanting pretty much exactly that product to be interested whereas category pages can show off more of the range.
In terms of 2, if it's an option to reuse the existing product pages, why have you shied away from doing that until now? If you have new products which are similar enough to the old products that means users coming to the page are more likely to get what they want (rather than just being redirected to the category page, or hitting an out-of-stock or 404 page). Also, if each product is keyword researched and the products are similar enough, presumably new products will be competing with old ones for similar long tail keywords?
If neither 1 or 2 work, I'd focus on what I'd want as a user. It can be frustrating to land on a 404 page, either through search or on the website, but it can also be frustrating and confusing to be redirected straight to a category page or similar product. Maybe the user would want to see the out-of-stock page with the option of being taken to similar products? Again for me it'd come down to how much you think each of these unique products could fulfil similar criteria for the visitor.
Hope that helps, as you may have picked up from my response I don't think there is one universal right answer but there is likely a best for your site. Happy to discuss further