Another suggestion would be to force the caravans to actually move. The tech of both parties involved (if it is a trade), the sea lanes, maps, etc. could all play a factor. The caravans start moving from the source to the recipient's capitol. Along the way, tarrifs could be demanded from civs that the caravans are moving through (or barbarians, pirates and bandits) to allow the flow of goods. Whenever a caravan arrives at the destination, the civ has the commodity.
Once the resource is being obtained the caravans would automatically move to their destination. A civ could garrison caravans by attaching military units, but the computer would automatically move all merchant caravans.
In addition, this could allow stockpiling of certain resources. I read in other threads something that I whole-heartedly agree with: one source of oil in Texas does not supply the USA. Thus, each source could have a certain effect of the civ.
For simplicity sake, non-strategic resources should supply the recipient each time they make it to the capitol (i.e. every turn that spices, furs or silks arrive, you merchants are able to sell them giving you happy smiles).
This would allow the much added benefit of attacking caravan routes with privateers and soldiers, either to disrupt an enemy or to profit from the resource yourself. Of course, interupting a supply route would piss off both nations involved in the route.
This could allow for lots of fun negotiations with other civs and a much, much greater role for barbarians (who, btw, should not be able to just pop up anywhere! they must have some source, like a bunch of unhappy dissidents who decide to leave one of your cities and form a gang.)