It’s definitely not easy. First thing i did was to decide that my dj library would be different to my “standard” library. so in my dj collection there are no albums. only tracks/singles. then i separated the songs according to genre. and in each genre three subfolders for “low”, “medium” and “high”, which in my case has to do not with the bpms or the key but the energy of the song and how much i like it (which assumes that i like high energy “party” songs). On top of that i also use playlists but only as a guide to where i want things to go. some playlists stay on one genre. others change every 5-10 songs. most playlists are made taking bpms and keys into consideration.
A lot of people do things differently. most i assume use itunes. but my goal was to put things where i can find them and also have suggestions of other similar tracks without changing too many folders.