It’s been a long day and I just miss read your post. Took me a bit to see what you were doing there. For a second I was thinking “What a jerk!”
Brick1: For mortar mask only.
Brick2: For bricks ranging from black to white.
Noise (42.5, 0, 42.5): Feed the full brick size from Brick2 (no mortar) into the noise vector. Now use the noise output for anything you like, such as offsetting the texture lookup position.
Quick example since the above may be a bit cryptic
The node setup:
About “inaccurate lay” (marked with a + sign): This is a quick hack, I normally use a much more complex node group that I didn’t expose here. Test it with the sharp glossy node, and adjust the fac so that no/very little black is produced.