Although you can parse the output from a find you have to take care of spaces etc. Unfortunately gunzip does not have a --keep/-k flag for keeping (like bzip2 and xz do have).
If would make a small script gunzipkeep that takes one parameter (the gzipped file) and does the decompression, put that script somewhere in your $PATH and call it with:
find /opt/fooapp/foosubdirectory -name "foo.ext.gz" -print0 | xargs -0 --norun-if-empty --max-args 1 /path/to/gunzipkeep.sh The script could be something like:
#!/bin/bash inname=$1 outname=${inname%.gz} gunzip -c "$inname" > "$outname"