A questão é realmente sobre como normalizar os dados quando você espera que haja duplicatas. E evite ids "queimadas".
http://mysql.rjweb.org/doc.php/staging_table#normalization discute um processo de 2 etapas e visa atualizações em massa devido à ingestão de linhas em alta velocidade. Degenera para uma única linha, mas ainda requer as 2 etapas.
Etapa 1
INSERTs
qualquer novo linhas, criando novos ids auto_inc. O passo 2 retira os ids em massa.
Observe que o trabalho é melhor feito com autocommit=ON e fora da transação principal que está carregando os dados. Isso evita uma causa extra para a gravação de IDs, ou seja, possíveis reversões.