Se non vuoi definire indici unique sulle due colonne direi che un sistema migliore non c'è, ma così devi almeno fare un lock sulla tabella, altrimenti ti esponi al rischio che elaborazioni concorrenti facciano inserimenti doppi