I looked at your data. If I understand this correctly, you are trying to do something that is a lot more than just setting the extents of 3 data frames.
Your upper data frame appears to contain the equivalent of 3 strip map pages, each at a different angle to one another. The data frame below that shows the pipeline running through the 3 pages but it is flattened to run horizontal to the bottom of the page (i.e., profile map).
The only way I can think of doing this with Python is to make the middle data frame (and bottom) 3 separate data frames, one for each stripmap page. The trick will be to get the rotation of each stripmap page and then rotate the 3 separate data frames so they are all horizontal to each other. You will also need to calibrate your extents based on the rotation so that you can place each dataframe next to one another to create the appearance of 3 horizontal dataframes that appear a one.
I find this interesting but this goes far beyond answering a question about setting data frame extents.
The dataframe object allows you to set its extent and also allows you to rotate. I believe this is what you would need to do.
Jeff
Is there no way to solve that problem whitout a lot of programming?