I recently programmed an extensive filter navigation for the Schoola Stitch project (awesome project, check it out here!). This Shopify store houses 2,000+ products with upwards of 300 filter options. Shopify's navigation linklist works slick to give the client complete control to add/delete and reorder this navigation, which was a requirement for this project. There's a lot going on behind the scenes, but the general idea is to select "web address" as the format, enter the tag and use the "link_to_add_tag" and "link_to_remove_tag" functionality in the navigation.
Midway through the project as the list of filter options grew, I realized that the "link_to_remove_tag" functionality did not remove the tag unless the tag existed on at least one product in the shop.
Easy workaround: I created a dummy product, added all possible tags and set the visiblity to 'hidden'. Worked perfectly!