One way to avoid this is to have old pages redirect to the new page with similar content, or to the home page. This way a user is still kept on your site, even if the page they linked to does not exist.
How to redirect:
The code above, when placed alone in a file, will redirect a user to the page you specify. You can learn more about page redirection here.
<?php header( 'Location: http://www.yoursite.com/new_page.html' ) ; ?>
What if your page is a .html, .htm, or some other non PHP page??
One option is to set your HTML pages to run PHP. This way the same code as above will also work for you. Another option is to resort to a meta refresh, which is simply HTML that will redirect you page.