the proper way to fix things would be to go into a modeling program and fix the rotation and origin point of your models. then you would also make different animations for different item types (pistol, rifle, sword).
if you want to see some examples check out the infinity blade weapons and the anim starter pack.
the solutions your proposing are a bit complex and would be a nightmare to implement. its better to have a standard when making your item assets and stick to it.