Best way to Implement FPS hands with Weapons

So I am looking to make an FPS game and was wondering what is the best practice when it comes to implementing Hands and Weapons.

My initial thought was have 1 pair of hands with all the weapons as child objects, then change the animation based on the weapon the player has equipped.

What does everyone else think?

Whichever works. There’s no the best.

It is not uncommon for games to have multiple sets of hands or even three hands and not just two. As I said, whatever works.

Inverse Kinematics are by far the most flexible way of doing it, you just need to create a target and a pole gameobject for each hand, then is just putting them in the right positions.
If you parent the targrts/poles to the gun, most animations and weapon sway will work without changing anything, the unique animatin that needs tweaking is reloading, but it can be done very easily.