Is this the correct way to scale my GUI?

I’m looking to make my game multi platform, and work on multiple resolutions/aspect ratios. For the GUI, I’m using onGUI.

Initially, I had made every element follow this pattern

Position.x = screen.width * something
position.y = screen.height * something
width = screen.width * something
height = screen.height * something

But I found that it wasnt scaling very well with different resolutions, and was also ruining the images texture quality.

So then I found a different way to do it.

Position.x = screen.width * something
position.y = screen.height * something
width = constant (say, 60)
height = constant (say, 60)

This seems to work fine for different resolutions, in the editor. But I am concerned whether this method is foolproof, and if it the correct way to go about things?
Please let me know if this is correct or no. And if not, let me also know the BEST way to resize/scale/reposition GUI elements for multi resolutions

I personally like to use xRatio and yRatio like so

xRatio = screen.width / 960;  //960 is default screen size 
yRatio = screen.heigth / 600; //600 is default screen size

Rect guiRect = new Rect (0,0, 200 * xRatio, 200 * yRatio);