Does InnoDB ever release unused disk space?
InnoDB tablespace size for individual tables (.ibd) can be reduced with OPTIMIZE and ALTER TABLE ... ENGINE=InnoDB;, but the system tablespace file ibdata1 can be never be shrunk.
The source of ibdata1's growth in in the undo logs.
I have written posts about this since July 2013. I first learned about this phenomenon from Percona's post Reasons for run-away main Innodb Tablespace.
Suggestion #1
If you mysqldump the data into another server running mysql in a newly installed instance, you could setup replication to it, then failover and trash the old master.
Suggestion #2
If you do not have another server, you'll have stop the application, mysqldump the data, drop all DBs, shutdown mysql, delete ibdata1, start mysql (which recreates ibdata1, reload the mysqldump). See my very old post Howto: Clean a mysql InnoDB storage engine?