Then please propose an API based on one of those which solves our
problem, without having any of the mentioned issues.  I haven't been
able to come up with a satisfactory one.

Well, IIRC Alex Shinn has already proposed a procedure-based API and reiterated it several times. And the only complaint lodged against using a parameter object seems to be that referencing it costs one procedure call, which seems perfectly acceptable for an infrequent operation in a functional-leaning language.
 
I do not understand why environment variables should not be used in
Scheme specifications.  They're a simple, ubiquitous mechanism for
controlling program behavior from the point of process creation onward,
some other alternatives being ARGV, the filesystem, and standard IO
ports, all of which seem inferior in this case.

The problem is that environment variables are not actually ubiquitous in the full sense of the word. There are Schemes that run on platforms where environment variables don't exist. Raw-metal embedded systems have already been mentioned, and there are also Scheme dialects that run in Javascript and the GPU.

Kevin Wortman