This inconsistency also annoys me and I found a little workaround continuing from Henrique's post.
Edit this file:
/usr/share/gnome-control-center/ui/shell.ui
In the beginning you will see these lines:
<object class="GtkWindow" id="main-window">
<property name="title" translatable="yes">System Settings</property>
<property name="resizable">False</property>
<property name="icon_name">preferences-desktop</property>
<property name="window_position">center</property>
Add this line after the last property to open the window with a fixed width:
<property name="width_request">1000</property>
Or a line indicating a fixed height:
<property name="height_request">760</property>
And modify the resizable line to:
<property name="resizable">True</property>
This will fix the width to 1000 pixels (or height to 760) or whatever you enter and make the window resizable. It won't remember anything when you resize though. It will always open at 1000 px width or 760 px height. But at least the damn scrollbar is gone and all icons are visible.
Now there is a glitch with this width/height request thing. The main window will open at the requested height, but when you then select a setting like "Appearance" and then go back to "All settings" using the top button, the scrollbar is back and the main window is smaller again. Back to start.
You can circumvent this behaviour by placing the height_request line inside the "GtkVBox" section instead of the "GtkWindow" section as we did above. So look for:
<object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<property name="orientation">vertical</property>
And add the line:
<property name="height_request">760</property>
in this section. You can remove the line from the "GtkWindow" section then.
The new glitch here is that every setting window will be opened at 760 px height and won't be scaled to fit.
So it's up to you what you prefer. :)
cheers peepz.