If you look at where GUIs are opened in the Minecraft#displayGuiScreen() method, you'll see that as soon as the current GUI is set to a new GUI (i.e. just opened the GUI) the following code is run:
ScaledResolution scaledresolution = new ScaledResolution(this);
int i = scaledresolution.getScaledWidth();
int j = scaledresolution.getScaledHeight();
guiScreenIn.setWorldAndResolution(this, i, j);
Since that code is running in the Minecraft class, the "this" refers to the entire game window. So you can see that the idea is that the GuiScreen "resolution" is set to be the entire game window. In other words, the GuiScreen always covers the whole window, but it is up to you where you draw your Gui within the game window.
If you look at the GuiScreen#setWorldAndResolution() method you'll see that it sets the height and width fields of the GuiScreen.
So with all that background you should be able to understand how to scale your Gui. You should leave the height and width fields, but do drawing locations based on them. So if you wanted to draw in the middle of the game window you'd use height/2 and width/2. This will ensure they scale along with the minecraft game window.
Hope that makes sense. Also, just look at other GuiScreen-based classes to understand how they position things.