Ender chests seem to really solve this problem well. They can be broken by others and people can take the containers. But the contents of the containers are player-specific. And shared across containers. Solves a lot of problems without being too OP.