Initial window placement decisions depend a lot on the user’s workflow intents for that application. E.g. a terminal window may make sense to open centered, but a music player or chat app is probably going to intend to go to the side. The number and resolution scale of the user’s monitor(s) also plays a role.
Saving position and restoring at that position is a common convention a lot of apps use. AFAICT this is a per-app behavior (at least for GNOME apps). However even this is unreliable particularly for apps you launch a lot of windows for - e.g. web browsers and (for me) terminals.
I’ve used devilspie2 to enforce some control over my window positions. Essentially it matches against application names or window titles, and then can apply window settings, geometries, etc. according to a Lua config script you provide. This does what I need to put hexchat, irc, terminator, and other basic things onto the right monitors and in the right places, but I haven’t figured out how to get it to put firefox/chromium windows where I want them. And yes, it’s way too fiddly for a general user, but I do think this is the level you have to get to for properly solving this problem, as it’s not a simple one. I’m very glad to see people thinking about it though.