If you're going to use Substancer Painter for texturing, you don't have to worry about the best UV layout at this moment.
You have unwrapped your mesh, you flattened the UVs and you arranged the UV islands without any overlapping.
That's enough for now and you could start with Substance Painter.
There are many nice features in Substance Painter that helps you to get the best results:
Because of its non-destructive workflow you can reload the mesh in your Substance project with a new, improved UV layout everytime you want to.
All the texturing work you have created so far will then be updated. And probably you will do so when you're facing some issues with your current UV layout.
E.g. the margin value in Rizom UV is set to 2 pixel. This might be ok if you want to have an output texture size of 256x256 pixel.
Pretty sure you want to have a 2K or 4K texture size so you will increase this value.
Same goes for the spacing value between your UV islands. A spacing of 4 pixel is very low when you finally bake out your texture maps.
But don't do this now, leave it the way it is. Again: you can refresh an improved UV layout every time you want.
Same for the size of some UV islands: You will notice that even with a texture size of 8K, some elements of your mesh don't get that amount of detail you want to.
E.g. the middle part of the sword handle. You probably will use some leather or fabric material for this. With the existing size of these UV shells it's not possible to capture all the details.
So you will come to the conclusion to enlarge these both UV islands and reload the mesh.
A.s.o. / a.s.o.
Compared to Photoshop or BodyPaint, Substance Painter is really great for those texturing jobs, but you will have to invest some time to understand how it works to get the best out of it.