estoy seguro que debe existir otra alternativa mejor basandose en algun algoritmo del unicode pero no logro hacer uno.
Código:
function latinchar(latin, english){
var chars = {};
for(var i = 0; i < latin.length; i++)
chars[latin.charAt(i)] = english.charAt(i);
return chars;
}
var charset = latinchar('áéíóúñÁÉÍÓÚÑ"', 'aeiounAEIOUN');
'áéíóúñÁÉÍÓÚÑ"'.replace(/[áéíóúñÁÉÍÓÚÑ"]/g, function(match){
return charset[match];
})