I like the all-products approach..use the 'printable catalog' contrib as kind of a template and add checkboxes (similar setup to the multi-move contrib), then have an 'add all' button at the bottom (or possibly configurable to have it every so often depending on how many products the store has) - then the customer just scrolls through, checks off the products he/she wants and then just clicks 'add all to cart' and is then taken to the normal checkout with all products added to the cart.