Another more advanced/complex idea could be to create curve path nodes for each weapon type and use values from path follow blended with some random jitter to drive the aim/reticle to emulate the effect.
Probably not worth over complicating your project like that for now tho. You could just implement something simpler now and return to the problem later if you feel you have the time and have gained the experience to experiment with this more in-depth.