Unable to use mysql_upgrade:
Given that the valid characters for unquoted identifier characters are documented here, you should be able to find non-confirming table names in information_schema using a regular expression match, with this query:

SELECT * 
  FROM information_schema.tables
 WHERE table_name NOT RLIKE '^[0-9a-zA-Z$_]+$';