RemDust that's right.
And good points, Majicpanda.
Having a separate GameObject for it isn't necessarily the best either. But it is a bit unavoidable if, say, you want each to have its own particle effects or visual components, or have its own animations that are independent of the main skeleton and too different from other weapon variants.
In terms of game logic though, personally, I'd advise against sticking your logic data with your visual stuff. So I don't think having different data for each skeleton is a good reason for having a separate GameObject for it.
The other tools you have at your disposal in 3.5 is the AttachmentTools module.
It allows you to have Unity sprites and convert them into attachments, combine different skins, then repack it into a runtime atlas so your whole mixed-and-matched skeleton can share one texture.