I am rolling out a number of custom pages using a page template feature approach. I am also using a custom master page for these pages. As part of the design, we would like the Quick Launch menu for the custom pages to hide Libraries and Discussion categories, and add a few custom links. I found How to customize Quick Launch bar walkthrough. However, the changes in it are global to the site. Is there a way to localize changes to a specific page?
You already answered half of your question. You cannot customize Quick Launch by changing SPNavigationNodeCollection on server side because your changes are then applied globally.
General disadvantage of using client side script for this manipulation is that header can be visible for a brief moment before script loads and executes.
The timing of your question is good, as I'll be publishing a freebie web part (...along with source) that does this early-mid next week. You just add it to the page (it's hidden) and then configure in the web part settings what you want to hide.
I implemented this method and for me it works fine!