Saving, Restoring, & Launching Window Layouts

For 1.) You can do almost all window movements using the "Custom move / resize" action in BTT. However swapping window positions would probably need some scripting. How are you swapping them?

For 2.) have you tried the "Save / Restore Specific Window Layout" action in BTT? Maybe in combination with the "Specific App Did Launch" trigger?

For 3.) have you tried the "Launch Application" action in BTT?