In some sense, the situation with R7RS is not much different. Although it has cond-expand, the mapping between library names and files is not defined by the standard (in fact, a library doesn't need to be backed up by a file). Thus, a highly portable project has to use a "meta-cond-expand" (that is a configuration mechanism outside Scheme) anyway.
I don't understand this. Do you mean that the paths of "include" are partly implementation-specific because the current directory for interpreting relative paths varies from implementation to implementation? That's true, but cond-expand can deal with it. Where library files go is implementation-specific and sometimes installation-specific, not package-specific.