I ran into the issue with Firefox trying to start but being invisible again (ps aux|grep firefox showed that /usr/lib/firefox/firefox was running). I resolved it by changing the relevant Exec fields in my customized .desktop file from /usr/lib/firefox/firefox to /usr/bin/firefox, and it opens with no issues.