Although you can parse the output from a `find` you have to take care of spaces etc. Unfortunately `gunzip` does not have a `-k` flag for keeping.

If would make a small script `gunzipkeep` that takes one parameter (the gzipped file) and does the decompression and call it with:

 find /opt/fooapp/foosubdirecotry -name "foo.ext.gz" -print0 | xargs -0 --norun-if-empty --max-args 1 --gunzipkeep

The script could be something like:

 #!/bin/bash
 inname=$1
 outname=${inname%.gz}
 
 gunzip -c "$inname" > "$outname"