well, they probably use not just directories but variables in the URL thanks to apache and mod rewrites so you can judge how they are storing things by the URL
Depending on your server and it's operating system, different file structures handle file management differently, some only allow 255 subfolders in any give directory, others might have different restrictions.
I personally think it's a bad idea of the user's action to determine file / directory / db strucuture, ever, simplly because you lose control of certain elements.
You could for example, put them into one or just a few folders, add unique user names instance name and image name to the uploaded image name,
if your program names images lets say with 6 random numbers, then a folder an onlly have 999,999 images.
However, if you add user id's to that imagery, and each user id can be up to 6 integers long, then each one can have 999,999 images
2020_483828.jpg
if you have it simply set to 21 characters, 10 for the user, 10 for the images, the total number of images you can safely have without overriding in any folder is 9,999,999,999 x 9,999,999,999 which should give you plently of room.
Whether your OS can handle that many files is another story