They could use a scheme like `AppID-name` where `name` is the sanitized lower-cased title, e.g. `50631-hack`. From Steam's perspective it doesn't really make any difference, it could just ignore everything after the dash, but at least it gives the human an idea of what's in there.
This was what I was going to suggest. This is what the Nix package manager does where folders are hashes of the build dependencies. In v2 they suffixed the package name and version number.
I've noticed that people tend to build systems like these using only hashes and it's only later in the project they realize it sure would be nice not to have to look this up all the time.