If you are aiming at “real life” weapons you can just use a good picture of them and unwrap from view. It is very fast and effective way.
Or you can start exploring how good weapon textures are made with this file.
The model is 1600polys. I render the image in Cycles.
Thanks for all of the help, I want to spend time with these techniques later, with simpler models. Here is the current version, I used normal maps and materials to texture it then baked it and added some grunge.