Развертывание подкаталогов по уникальному хешу, как это, является хорошим решением, но число подкаталогов в вашем примере way слишком много. Каждый двухсимвольный подкаталог может поддерживать 256 записей, поэтому, если у вас будет 5000 пользователей, вы получите только около 20 файлов на каждый подкаталог при переходе на один уровень глубины, что вполне разумно. Два уровня глубины легко справятся с миллионами пользователей.
Кроме того, я бы не вырезал имя файла до тех символов, которые остались в хэше. Используйте полный хэш для имени файла, независимо от того, сколько уровней вы пройдете. С файлами будет намного проще управлять, если вам нужно (например) переместить их в новый магазин. Т.е., не делай этого:
49/f68a5c8493ec2c0bf489821c21fc3b.jpg
Сделайте это:
49/49f68a5c8493ec2c0bf489821c21fc3b.jpg