Is there any way to give collection instances the appearance of slightly different uv coordinates?
Here is a setup I’ve come to use. If I don’t need a certain part of it or it’s incompatible with other stuff; i.e. random per island can get messed up with bevel modifier, I just mute that thing. And obviously you shouldn’t be using location if animating. But in the past I’ve had problems with instances reacting to Object Info/Random, so location was a nice workaround as I don’t animate. I am not sure why you would want to multiply UVs with a random value, certainly not without doing a map range on it to make it 1 ±0.2 or something. I will also happily do negating of an axis based on the random value and random rotation in addition to just shifting things around, depends on what needs to be done.
This is also a good method, and Add for sure is a better math operator than Multiply here I was using Multiply so you can quickly see the effect. I don’t think White Noise will do much beside slow things down, compared to the Random socket. It’s definitely not the slowest procedural texture but I would personally hesitate before adding three procedural textures just for UV mapping. However, you said you’re not doing any animation, so that doesn’t really matter in that case
I use White Noise to have more random channels to drive stuff. I.e. X and Y to drive UV offset separately, and maybe Z to drive coordinate negations and rotations. Still, that’s the setup, and you can just mute whatever you don’t need. Forgot to include an math(add) between the input and the White Noise to act as a seed in case I don’t like the result it currently produces.
As for overhead, I’m not worried about White Noise. Regular noise with high detail, and loads of them, is when I start to worry. Especially if where used tend to occupy a lot of screen estate. So I will never use procedural scratches on floors, but rather i.e. procedurally mix up an image texture to do the job without obvious repeats.