Shading/smoothing groups first, then base those shading/smoothing splits onto your uv splits (which you can then split further if needed). I find that if you do UVs first, and run a script to gen smoothing groups from UV's, you'll come out with not optimal/desired shading.
In order to get clean bakes in the engine I work in I pretty much have to setup smoothing groups based on UV shells. So I always UV my models first and then setup smoothing groups based on the UVs. I use a custom script to do it in Max and am not sure what tools it has out of the box, but, in Maya if you select all of your…