Sometimes, it's the simple things which can make life so much... well... simpler.
I love backpacks, but I don't like how everything ends up in a jumble in the bottom of the pack - especially if the backpack contains my knitting, and all of the little doodads which seem to accompany any knitting project. I solved this problem by making my pack a two-storey pack.
I put two cut-down jugs in the bottom of the pack.
The sweater-in-progress sits on top, the notebooks slide between the jugs and the pack side, and the doodads stay in the bottom without getting all tangled up in the sweater. I have outfitted my knocking-around back pack in a similar way, too, with life's little doodads in the bottom (laptop cord, pencils, hair clips and etc, and larger items can sit on top (books, notebooks and etc.) If your zipper goes all the way to the bottom of the pack, then you don't have to unpack the upper storey in order to access the lower storey. It works great.
If you don't have jugs, then maybe you could use a cut-down box. You might like to devise a divider - it's the thing in the middle which keeps the knitting from falling down into the lower storey and getting all jumbled up with the doodads.
Another kind of bag that I like to use is the humble tote sack. What troubles me about tote sacks is that they don't stand up, and when the sack flops over, then all of my stuff tumbles out, too.
If you put a box into the bottom of the bag, then you eliminate the problem - voila! the bag stands on its own just fine, even when it's empty.
I can put my knitting or spinning project into the box, and any paper work or books can slide in between the box and the wall of the bag.
The bag with the purple handles has a shoe box in the bottom, and the other bag has a hair dryer box in it.
This particular tote sack is way too narrow for a shoebox. My daughters just bought a new hairdryer and it fits perfectly, ha! I just love it when my trash is useful. This bag will be just right for a couple of spindles and a whole bunch of fiber...