Ambos REPLACE INTO
y el ON DUPLICATE KEY
la alternativa sugerida es SQL no estándar de la variante MySQL. Entonces, si lo usa depende de a) si está usando MySQl yb) si desea estar vinculado a esa variante.
ANSI SQL define un MERGE
sintaxis que es más estándar, si está implementada en su plataforma