One of the most successful approaches I've seen is to take the items away from the player at known intervals.  For example, make it so you get consumables inside dungeons, but once you leave the dungeon the consumables go away.  That way, the item can't be hoarded because it isn't permanent. Since you can't hoard it beyond the dungeon, the user doesn't feel that the item has as much value. 

Alternatively, you could also do things like dramatically limit the number of single use items the player can carry.  The logic being that if you don't use the items you're leaving a bunch of consumables behind.  It isn't as good an approach as forcing the items out of the user's inventory, but it might also encourage the user to churn through their items.