When I get several chests full of something like cobblestone, I never know which chest still has room left in it for more, so I end up opening several chests before I find one with some empty space.
I tried this design in my survival world and it works great. From the front you see only two chests for each item, an input chest on top and an output chest underneath:
You always put items into the top chest and take item from the bottom chest.You never have to look for a chest with empty space, and you never have to look for a chest that has items in it. The hoppers behind the scenes always work to fill the bottom chest.
There are three different kinds of modules behind each item row, depending on how much space you need for an item. A two-chest module, a three-chest module, and a four-chest module:
If you need more space than two double chests, add a third double chest and move the bottom hopper.
If you need more space than three double chests, add a fourth double chest and add a third hopper.
If you need more space than four double chests, set aside two modules for that item.
This same design could be built five blocks high, but that takes a lot of hoppers, and I rarely collect more than four double chests worth of any resource. More than that and either I'm collecting stuff I'll never really use, or I need to get off my butt and work on the construction projects I'm collecting stuff for. I'll make exceptions for cobblestone and dirt, and even at that, I've never overflowed 8 double chests worth of space for any of those. And since dirt is dirt cheap, if I get more than 8 double chests worth, it's time to start tossing it into the lava instead of collecting it.
My survival base is in a dark oak roofed forest so I use a lot of dark oak for flooring material. The light oak paneling contrasts nicely with that. I get tired of looking at cobblestone all the time, and since my latest world has LOTS of wood I'm using a lot more of it for building.