Weapons object not shooting right

So, I have a machine gun, a working one with a script and everything, and from the tutorial I was using, I was told to put the actual machine gun object, as a child object to an empty game object called weapons. Now the only problem with that, is wherever the weapons empty object is facing, is where it actually shoots and makes the sparks, but I can’t seem to get the real machine object to align perfectly with the weapons object. I also added a cross hair, so when you shoot, the bullets actually hit about (from what it looks like) a couple of inches to the left of the cross-hair. What I’m asking is, is there some way to perfectly align all 3 of these objects? I really only need the empty and actual machine gun object, because the cross-hair is right in the middle of the screen, can I do this? and if so, how?

Thanks for all responses in advance.

you need to raycast from the camera, through the middle of the screen, and where the raycast hits, is where the gun/bullet must aim.

Ok, how can I get a raycast from the camera?

http://lmgtfy.com/?q=unity3d+camera+raycast