Hola:
El evento asociado al envío del formulario es submit, y como tal basta con enviarle el valor lógico false para evitar su envío, o sea, con una sola línea tendrías resuelto el problema...
<form method="post" action="pagina_destino.php" onsubmit="enviar_por_ajax(); return false">
<input type="submit" />
</form>
O si haces pocos retoques podría ser: onsubmit="return enviar_por_ajax()"... poniendo return false al final del envío por ajax... pero fuera del onreadystatechange()...
Saludos