The design is based on a premise that each spool holder should function individually AND that multiple holders could be chained easily together in a stabile structure. The "leg" (parallel_spool_holder-side.stl) is constructed in a way to form a lock together with the "axle" (parallel_spool_holder-top_XX.stl) allowing it to act as a distancer -- setting consistent width based on the spool width -- and yet still be super-easy to replace.
Round rails (parallel_spool_holder-rail.stl) connect the whole structure and make it very stable because they form a flat rectangular base with the "legs". A rail is designed with 150 mm length and can be connected to a subequent rail with a pin bolt (parallel_spool_holder-pin-distancer_v3.stl) to form an endless structure. Of course, as current length could be a limiting factor in constricted spaces (boxes/containers), the rail can be easily shortened (by slicing it with negative Z) to accomodate the whole structure to those restrictions.
There are three lengths of "axles" available corresponding to inner (or spool) widths of 66, 72, and 80 mm, aimed to accomodate standard 750 g and 1 kg spools.
Behvior of a spool on the holder is even better than expected. The spool rolls easily and without any jerking, thus eliminating the counter pull of filament (that happens during spool jerking roll). See it in practice:
Printing a holder for one spool requires (for 2 sides, 2 rails and 1 top) some 40-45 m, depending on type and infill, of course. All parts in photos are made of PETG, but I'm sure PLA should prove to be adequate material (with proper slicing settings).