First of all, before you do anything, make sure that you have flushed your permalinks, a 404 usually is a hint that you did not flush your permalinks after you created your custom post type the first time around.
get_post_type_archive_link()
will return the URL to the post type archive page, so you would do the following
echo get_post_type_archive_link( 'products' );
to get the correct URL
As for a custom template, you can create an archive template called archive-products.php
to display your products on. WordPress will automatically pick that template up and use it when you visit the products archive page