Scale a ring curve while maintaining the ring width
I figured it out.


Go to edit-mode, select the outer edge of the ring and make a hook.
Select the inner edge of the ring and make another hook.
Go to object-mode and select the empty for the inner hook. Make driver for scale x, y and z.
Open Drivers editor and edit the existing variable (or make a new one if it doesn't exist).
Change the driver variable type to Transform Channel.
Select outer empty as object.
Change type to X Scale
Change space to World Space.
If you want to maintain 0.1 tickness then in the expression type "var-0.1" without the quotes for the expression.
Hide the inner empty.


Now if you scale using the outer empty, the ring should keep it's thickness.

Here is the example scene: