One sure way is to throw out some GUI process that will terminate right away, and check the exit status. The xterm is usually available (although the latest Linux Mint did not have it by default) and can be made to exit right away:
xterm -iconic -e echo test && echo "Has a display"
The -iconic should prevent the xterm from flashing on the display (I hope that is a general option).
Since your environment has zenity, it will also return a bad status if the display cannot be used, and output an error message. You can detect this in bash:
echo "" | zenity --progress --text "Display test" --auto-close 2> /dev/null
if [ $? -eq 0 ]
then
echo "has display"
fi
Unfortunately the progress dialog flashes on the display for an instant. This has the added benefit of detecting if zenity itself is not available.
I have used the xterm approach in the past.