HI 
I can understand why you would increase the different timeout settings. But 99999999 is over 3 years!!! I find that a little over the top  
 
If something is wrong the connection will "never" timeout and the program will "never" stop running.  
A timeout setting in the seconds or minuts range would (for me) be more convinient  
 
Max_connections = 99999999 could be dangerous. Your server could run out off memory or more likely run out of hardware memory and start to swap memory to and from the harddisc. 
It is better to set Max_Connections to a more realistic number. I had an error, where I had forgot to close and free a MySQL connection in a rarely used function. That resulted in a the number of connections slowly grow and grow until the Max was reached and I got a "Too Many Connections" error.
If I have had Max_connections = 99999999, I might never had look for the error. I would have run into memory problems long before I would have gotten the "Too Many Connections" error.
 
The Max_User_Connections = 99999999 is not needed. The default setting Max_User_Connections = 0 means that there is no limit to the maximum connection a user can have. So why inforce a nearly unreacheble high one of 99999999? 
This is not meant as an insult, I just wanted to bring some balance to your otherwise good idea 
Your post made me check my settings and I found that my Connect_Timeout = 0, might be a reason for some of the "Couldn't connect to MySQL server" Errors I sometimes get. So I have changed it to Connect_Timeout = 5 on my 2 live servers as well as on my test server. Not as radical as your setting, but a significant change anyway. 
So I would like to thank you, eduardosic, for making me check my settings  
 
Best regards
TheLion