For the 1st point, I struggled with the same, then a short applescript thanks to claude, attached to a keyboard shortcut on karabiner solved the painpoint. There's also an app called Stay which should do something similar with a ui, but my solution is good enough for me at this point.