regarding your question
i beleive that you may also be able to do figerprinting at a US consulate or embassy abroad not sure if it is still possible but my friends years ago was traveling and got fingerprinting at the USA consulate services in ciudad juarez Mexico.....he explained to them the situation show them the letter and it was done this was on 2000 things may have change ever since,,,that of course if you know you will not be here back on time to do the fingerprinting ...he also showed a company letter explainig what he couldnt do it since he was temporarily on assigment in mexico. that how he was able to do so .
you may want to check this route with BCIS / NCSC