I always assumed you could work around this by pre-allocating a large enough header space to hold a reasonable sized directory tree. You could even then append a supplementary directory if you run out of space and just stick a pointer in the first one. I'm pretty sure that's just reinventing an actual filesystem, but if it works...
Sure, this would also work. But it seems more complicated -- what would be the benefit?
Isn't this basically FAT without the actual allocation table?
> ... pre-allocating a large enough header space to hold ...
Isn't the point of compression is to eliminate such wastes of space?