with that base you can also select a horizontal edge > loop > ring > straighten horizontally, then select an vertical edge > loop > ring > straighten vertically
You can save yourself steps 1 & 5 by using the headus bridge script found on scriptspot. No need for import/export Or stay in Max and: run Straighten Selection> run Relax by edge angles with 'keep boundary points fixed' checked for exactly the same result.
Also, importantly, as I mentioned above you should concentrate on only straightening border edges, otherwise your UVs will be distorted. In Max> run Straighten Selection> run Relax by edge angles with 'keep boundary points fixed' checked In Headus> hit R(rectilinear unwrap)> hit F(relax with edge borders unaffected) Both…
Headus UV has a rectilinear relax feature for this. Also, Max has the straighten selection and unfold strip from loop features. But really, the results will vary greatly depending on how far the edges deviate from the original relaxed shell. If this is for in-game purposes then it's only really the UV shell border edges…