I'm not sure about Python Scripts, But I do know few details for your reference.
1. When you do first time publish to server, you need to do following
Need to Select folder
Need to name project
You need to select dashboard/sheets/story boards
Need to set permissions
Mention Source as well.
As a QA he might have different path and folder structure and it might not be the same as yours.
in that case, you need to manual configure from the scratch.
In came you have same folder structure also, when you change site path, you have reconfigure manually.
So, if I am understanding this correctly, every time the site path is changed, the settings for publishing will be reset?
Unfortunately it sounds like your QA team is modifying the vizzes before they re-upload them. You should expect Tableau to upload in the exact state that you have it in when you do your upload (i.e. any selected filters, parameters etc are saved in the 'publishing' state). If these settings are altered then its because somebody has changed them. We have a similar setup where our developers hand over the vizzes to our web publishing team, but the only thing that seems to fall out of that process as an issue is whether or not the developer wanted the vizzes published in tab mode or not.
Are you able to share your Python script ? I can't see why this would be any different to the activity of somebody in the QA team downloading/uploading the viz but I'm also interested in automating that process so I'm curious to see how it works.