I would organize it like the way you have right now (sprite collections per area, and perhaps even per layer of sprites, bg, fg, mid sprites, so on), but take it a bit further, and have all the player sprites + animations in one atlas and so on.
If you have full screen background pieces, and they don't have significant amount of 0-alpha regions, then perhaps you could just load them in using Resources.Load, and use runtime sprite collections to create them at runtime. One advantage of this is that if you store the files at .png.bytes in your project, you will be able to keep them as PNGs, and save a fair bit of disk space. Obviously this will come at the cost of runtime load speeds, but as everything else that is just something to balance.