No estoy muy familiarizado con las muchas peculiaridades de mySql, pero esto también debería funcionar, y quizás mySql no se atragante con él:
delete from articles
where not exists (
select id from authors
where authors.id = articles.author_id
)
Um, por supuesto, siempre tenemos una copia de seguridad de la tabla antes de intentar eliminarlas basadas en conjuntos :)