That makes life more difficult for systems like Chicken that map (srfi 999) to srfi.999 rather than srfi/999. When I want to make a build that works on Chicken (R5RS+), Chibi (R7RS), Guile (R6RS+), and Ypsilon (R6RS), I lay things out like this:
srfi-999
srfi-999.html
srfi.999.scm ; Chicken lib
include.sls ; R6RS (include) lib to bring in 999-impl.scm
srfi
999.sld ; Chibi lib
999-impl.scm ; portable implementation code included by the rest
999.scm ; Guile lib
999.sls ; Ypsilon R6RS lib
Then putting the srfi-999 directory on the various library search paths Just Works. Of course you can just load 999-impl.scm on systems without libraries, with different styles of library, or when you don't care about module control.
Every Scheme has its own convention about where the library file has to go and what it has to be named. So far, I haven't had to worry about one system's conventions stepping on another, which is fortunate.