The correct way to do this is to have information about the items you are selling:
From this you can calculate the number of boxes and the weight of each box. You can then spool up rate requests to FedEx and UPS. After which, you can add a percentage and display that to the user as the shipping charge.
The problem is always getting the product information.
I can tell you that we are in the same position you are; we have no weights for our items. Shipping, for us, is a rough estimation. We loose on some shipments and gain on others.