There should be loot 'tables'. Basically the way some devs do it today you have specific tables for specific areas. Say village A has a loot table with specific items listed in the table. When player opens one of the village chests then one of the items from the table is being generated. When player opens a chest in a dungeon then another 'table' is used where more dungeon appropriate items are used.
Do you see anything completely random in game chests? So far by opening barrels, boxes and couple of chests I've noticed difference of the loot type and I didn't find it very inappropriate. Some fisherman stand boxes gave me some fish, chest in a house with locked doors gave me a spell scroll. So far I see that loot tables in game at least make sense.
If you kill some hard monster and found a chest in his layer and after opening it with a lockpick you'd find a fish... then yeah, loot table for this location would need to be adjusted. So far I didn't have such 'funny' experiences. But then again, who knows maybe that monster likes fish more than anything in the world?