1. For pages that no longer exist:
Allow to 404 or 410 if the page is gone and receives no significant traffic or links. Ensure that the server header response is 404 or 410, not 200.
301 redirect each old page to a relevant, related page on your site.
Do not redirect broad amounts of dead pages to your home page. They should 404 or be redirected to appropriate similar pages.
2. For pages that are live pages, and are not supposed to be a soft 404:
Ensure there is an appropriate amount of content on the page, as thin content may trigger a soft 404 error.
Ensure the content on your page doesn’t appear to represent a 404 page while serving a 200 response code.