Texture positioning outside group/component

Is there a way to modify texture placement outside a component.
Sometimes I need the same component in different materials and it is ok if it’s just a colour.
In order to edit the UV mapping I usually “make unique” of the number of instances I need in that different texture. Is there a better way to do it?

Have a look at ThruPaint by Fredo6. Get it in his FredoTools from Sketchucation.

Thanks DaveR, I already use ThruPaint by Fredo and SketchUV, great tools!
But I get the same result. let me try to explain with one example that it actuality happen to me.
I was modeling an optician shop with dozens of shelves with glasses on it.
I populate the shelves with only 3 models of glasses (3 components)
and applied different colours to all. So I kept only 3 different components with thousands of instances in different colours.
I achieved this by only applying glass material to the lens inside the components and left other parts with the default material and then applied the colours outside the material.
“Scale and Rotate Multiple” and “Random Selection” extensions were very helpfull here.
Then It was asked me if I could make some of the glasses from timber. and some from other jpg textures. and I can but not without making more components.
This is simple enough to do but my files end up being very big with loads of detail so every little helps.

Are you rendering the result with a rendering app? At least V-ray has methods to control the UV projection method of materials applied from “outside” of groups and components.