Thanks for your summary on this matter, webuser. I think this feature is really important, and loads of other shopping carts simply have a check box that says 'Free Shipping'. It's worrying that Virtuemart doesn't have something as basic as this. Anyway, here are my responses. I'm using the latest version of VirtueMart...
1/ Ship By Item Module. I haven't tried this, but I'd be interested to see this module in action. Do you have any links?
2/ The in-built VirtueMart method - weights. This method just isn't practical, and like you said, users shouldn't have to resort to this. I actually use the product dimensions attributes, and these are displayed on the flypage so I simply can't just put '0' as this would look like an error.
3/ Shipping as an attribute. I have recently been experimenting with custom attributes, and so far they are working as hoped. I will look into creating a custom attribute for free shipping.
4/ Incorporate it into the product. I have tried this method before, but a major flaw in this is that you can't exactly advertise the product as having free shipping, as the customer will still have to pay shipping in the Checkout. If the product had free shipping, I'd advertise this on the flypage.