La dimensione del file dei tablespace di InnoDB non si ridurrà mai automaticamente, indipendentemente dalla quantità di dati eliminati.
Quello che potresti fare, anche se è un grande sforzo, è creare un tablespace per ogni tabella impostando
innodb_file_per_table
La parte lunga di questo è che devi esportare TUTTI I DATI dal server mysql (configurare un nuovo server sarebbe più semplice) e quindi reimportare i dati. Invece di un singolo file ibdata1 che contiene i dati per ogni singola tabella, troverai molti file chiamati tablename.ibd
che contengono i dati solo per una singola tabella.
Dopo:
Quando quindi elimini molti dati dalle tabelle, puoi consentire a mysql di ricreare il file di dati emettendo
alter table <tablename> engine=myisam;
per passare a MyIsam (e cancellare il file di dati InnoDB per questa tabella) e poi
alter table <tablename> engine=innodb;
per ricreare la tabella.