Hi, unfortunately no there is not. The only officially supported use of session files is what's documented. Looking at the output of a saved session file is probably not an optimal way to reverse-engineer this because it dumps the entire state of the objects, which is usually much more than is necessary.
For what you are trying to do it should be enough to just supply the "Resources" section, leave the Panel, PanelLayout, and HiddenAttributes out completely. Those sections are only necessary for fine grain control of what the user sees. If you want to control track attributes a better method is to use a track line in the files themselves. Nevertheless, answers to your questions are below.
BTW the xml based session format is to be updated and replaced, probably with json. This will be better documented. If you're interested in having input, or just want to list your requirements for a session file, please join the conversation at
https://github.com/igvteam/igv/issues/492