Is this happening with all applications or just only on some? My guess is that this is a random, per application case.
The trick here is to force application window to open at a specific X,Y coordinates/location. There are few tools which might help like devilspie or compiz however depending on your case they might be overhead with no guaranteed success results.
Perhaps the easiest and universal way on how to approach this is to customize application launcher on per application basis. For example first install wmctrl tool:
$ sudo apt install wmctrl
Next, create a custom script for eg. Firefox application called firefox.sh:
sleep 1 # allow some time for the application to start and to become active window
wmctrl -r :ACTIVE: -e 0,400,0,1024,640 # move the window into preset position
Make the script executable:
$ chmod +x firefox.sh
When you run the above script the Firefox will start, and then will be moved X,Y position 400:0 and resized to 1024:640. Fiddle with the setting to suit your needs and then replace your current Firefox launcher with this script.
Hint: use xdotool to get a window geometry. For example:
$ sudo apt install xdotool
Run the below command and make the window active ( you have 2 seconds to do so ) by clicking on window you wish to get a geometry information about:
$ sleep 2 && xdotool getactivewindow
$ xdotool getwindowgeometry 117440517
Position: 538,292 (screen: 0)
Use this information for your custom application launcher script.
Yes, I agree this is somewhat lengthy solution but it give you a full control. I do not use GNOME as I’m KDE user so it would be good to get some GNOME expert’s opinion on this. I do not want to go into comparison between KDE and GNOME but in this case KDE has you covered in few clicks. Example:
Hope this helps