No, there aren't any general solutions. The only way to check if a file is corrupt is to try and read it; only software which knows how to read that particular format can do that.
What you could do is use `file` to identify the type of the file, and then use the type to choose an appropriate program to check the file. You could write a script like this:
# /bin/bash -eu
FILENAME=$1
FILETYPE="$(file -b $FILENAME | head -1 | cut -d , -f 1)"
case "$FILETYPE" in
"gzip compressed data") CHECKER="gunzip -t" ;;
# many, many more lines here
*) echo "Unknown type: $FILETYPE"; exit 1 ;;
esac
$CHECKER $FILENAME
But you'd have a lot of work to do to fill out the case statement.
It's possible that someone has already written such a script (or program), but i don't know of any.