I am surprised that I haven’t found any similar topics.
I think it’s only that this is a specific version of a general implementation question that gets asked, i.e. how to spot a keyword. I’ll be happy to try to help you with it.
1) Should I use Rejecto or JSGF grammar for the wake-up language model?
You can’t use JSGF with a single keyword match, I think. JSGF rules as implemented in Pocketsphinx have to have more than one potential match or they crash, to the best of my knowledge.
Is there a fast way to force a predefined level of calibration?
You won’t get good results from a predefined level since it depends on the environment and mic characteristics being similar to your predefined case, which is unlikely. Have you already tested and discovered that the ongoing recalibration isn’t doing the job?