I think the core of this discussion revolves around communicating with the customer. If they understand what they are paying for then they are fine with it and it builds trust at the same time. When we go through an invoice with a customer we just tell them what we used for shop supplies, "we used some brake cleaner, a few rags, the paper floor mat, a gallon of windshield washer fluid, and a scoop of floor dry." If people know what they are buying they are really okay with paying for it. Most price objections occur soley because they customer doesn't know what they bought. If you tell them they are fine with it. Better yet, if you tell them up front and again when they pick up the car you begin to build trust with transparency, and the next time they don't push so hard. We've actually converted quite a few upset customers by doing this. Now they are great and they don't question anything because they know what they are paying for and they trust us.
Bottom line, if your customer doesn't know what they are getting, then they will think you are randomly adding money to their bill. It is up to you to make sure they know what they are buying. You have the power to manage and avoid price objections for shop supplies (among other things).
Side note: some of my customers actually pay us more than we charge. They bring us cupcakes, donuts, coffee, gift cards, beer, refuse change etc... because they are grateful for our transparency and the time we take to help them understand what we did and what they are paying for.