Google official guideline for out of stock product pages
For small ecommerce websites i.e. tens of products, suggest relevant products is better option
For medium size website i.e. thousands of products, give a 404 not found page is better option
For large websites like craiglist, use unavailable_after tag is best option.
Here is the link of video in which Matt Cutts describes the whole thing.