I have been dealing with this kind of issues for more than 6 months so far, with a hit/min similar than yours, maybe a little higher, and the best settings I have found with F1 and without breaking the bank (but still expensive comparing with other hosting services which provide better perfomance) are:
min idle instances = 1
max idle instances = 1
min pending latency = 15s
max pending latency = 15s
If your memory consumption is more than 128MB per instance, then you can consider to go for 2 or 3 as max idle instance.
From my experience, with this configuration some of the requests will be handled by the resident instance, and some other will be handled by a new dynamic one which, with a bit of luck, app engine will have preloaded if it served a warmup request before, getting a better response time than the usual 30 seconds (if not a DeadlineExceededException).
However there will be some requests which will run new loading instances, and this is something unavoidable using automatic scaling. There is something quite novel called manual scalling which is configurable, but it would increase your app complexity and wouldn´t solve the root causes of this serious performance issue.
I´s a shame google is unable to provide a decent service for java apps using DI frameworkds like Spring, Guice... as you can check on multiple forums and lots of open threads about this problem, some of them for more than two years ago.
It doesn´t matter either how well you optimize Spring, unfortunately the waiting times in many cases will still be unacceptable for professional applications in google app engine for java.