Geany should set its window position and size to the values that were saved the last time it was shutdown politely. If that doesn't work check the settings that control what is saved. If it still doesn't work maybe your window manager is refusing the position and size requests, some do, check yours.
If the same geometry as it last had is _really_ is not what you want, then you will have to set the window geometry yourself via your script.
There is no built-in startup script running capability, but maybe a plugin does it, or you could create a plugin to run a startup script.
Or you could run Geany from a script, but run it detached (end the command line with `&`) so the script can continue while Geany is still running and can then find the Geany window and run whatever window sizing commands that depend on your system, display server, desktop manager, wind direction etc.
Or you could teach your script to edit the `session.conf` setting for the `geometry` entry before you run Geany, dodgy hack.