However, I couldn't find a way to randomize the width of the rings and the spaces between them (I figured the best way of doing so would be to find a way to unevenly distribute the scale). Is there any way of doing this?
Here is a solution using simple vector distance node and a 1D noise texture node. This can then be used to feed a Bump or Displacement node.
The key reason why this work is the use of 1D noise texture which uses the distance from the circle center as the coordinate input value (W). 1D means it works on a line (2D is on plane and 3D in space..). The same way coordinate in 3D is driven by X Y and Z, for the 1D noise texture, that 1D coordinate is simply named W on the 1D noise texture.