Could you provide some sample data for us? That will make it a lot easier for people to help you solve your problem. If you need help creating a reproducible example, there's an explanation here.
That said, my off-the-cuff response would be to think about facetting the data. Have you tried facet_grid or facet_wrap? I'm not sure what you'd do about the legend position, but maybe that would at least help you get some ideas, since it sounds like you're looking for conceptual thoughts on how to structure this data viz.
I'd also say: ask yourself whether it's a good idea to put all of this information into a single graph. Often, when there doesn't seem to be a good way to visualize the data, it can be because you're trying to do too much all at once, and maybe there's a way to distill it down to simpler takeaways, or split it into multiple visualizations to convey your point better.