Не уверен, что это лучшее решение, но... мне как-то довелось приводить к нормальному виду сборник трудов, в котором практически все авторы не обращали внимания на висячие предлоги (на английском, но разница непринципиальна). В итоге я соорудил скрипт из пары десятков примерно таких блоков:
sed -i -r 's/\ as\ /\ as~/g' "$1"
sed -i -r 's/\ As\ /\ As~/g' "$1"
sed -i -r 's/\nAs\ /\nAs~/g' "$1"
которому в качестве параметра скармливался исходник статьи. Поскольку одно- и двубуквенных слов в языке мало (и это почти исключительно предлоги, союзы и - для английского - артикли), их можно просто перебрать все.