Você pode definir keepalives TCP genéricos, acho que há uma configuração do kernel para isso. Mas eles são geralmente muito menos frequentes (horas). Existe um TCP Keepalive HOWTO que parece ter detalhes.
Como alternativa, por que não apenas encapsular a conexão MySQL via SSH, então você pode usar keepalives SSH?
$ ssh -L1234:127.0.0.1:3306 -o ServerAliveInterval=300 user@mysql-server
... (in another terminal)
$ mysql -u user -p -h 127.0.0.1 -P 1234
A terceira opção seria configurar um túnel (por exemplo, OpenVPN) para o seu servidor e, em seguida, isso funcionará como keepalive (e reconexão transparente, etc.).
PS: O argumento "nossos recursos preciosos" para expirar as conexões TCP estabelecidas em 30 minutos é BS. Infelizmente, eu já estive no lugar deles - alguns equipamentos também são BS. Por exemplo, BCP 142 / RFC 5382 dá um tempo mínimo de 2 horas e 4 minutos (e isso é somente se o firewall não puder determinar se o host ainda está ativo).