I was recently looking for a solution here and I've found something that works for me. Each new window gets it's header position settings cloned from the window you split it from... Unfortunately the header setting is per editor type (3D view, timeline, etc), not per window. Fortunately though, the window remembers every type's header position setting.
So if I had one window where every editor type was set to header-on-top, any new window cloned from it would get all of those default settings. So here's what I did:
- Collapse your layout down to one single window.
- Starting with 3D view go through each window type, and move the header to the top.
- Once that's finished, you should be able to click through all of your editor types and verify that the headers are all on top.
- Rebuild your layout. Since you're cloning from this single master window, each new window should retain all of the type's header positions.
At this point I saved as startup file (ctrl + u).
Note that if you have previously made layouts they won't include these changes. I deleted those and rebuilt what I wanted.
It's a lot of work but I don't have to worry about my headers jumping around anymore.
Hope someone finds this useful.