Rotating Hand Weapons Correctly I've been modeling weapons for my game for the past 2 months, started to try to rig some of them today to see how they look in game. I've done VERY limited rigging, mostly clothing, never really weapons. I searched around for a couple hours and used this method :
1.  Add new armature bone extending from middle of the hand (where fingers meet the hand) and name it RightItem/LeftItem
2.  Place weapon in hand where it should be held
3.  Click on Armature, go into pose mode and select only the Item bone.
4.  Click on weapon, shift select the armature, hit CTRL+P and parent the weapon to the armature using “Empty Groups”
5.  Click on weapon and go into EDIT MODE
6.  Go into Object Data Tab ( Triangle ), find Vertex Groups, scroll down until you find the RightItem bone and assign the weapon to that bone.

It works but after rigging the item is moved from his hand. I took some time and put it back in his hands, it seems for some reason none of the Axis are responding how they normally respond? Try moving it up on the Z axis and it starts moving on the X,Y and Z axis up towards the left hand corner. Also when I tab into EDIT mode the weapon again moves. I can eventually get it in his hands and tests fine, but I feel moving forward this is going to be SUPER annoying and just a waste of time trying to deal with. Is my method for rigging super outdated? Or am I missing something thats right in front of my face? If anybody has ever come into contact with this problem, any help, guidance, assistance, knowledge anything would be greatly appreciated. Thanks!
first add you blend file here to see whats going on there. https://blend-exchange.giantcowfilms.com/ 
i think this has something to do with parenting or bone contraints settings, there is a bone constraint called "child of" its works for moving a bone with another one but without parenting those bones, i think you are looking for moving the hand bone with the weapon.