Готовое не знаю, но можно написать простенький лексер/парсер. Лексер будет разбирать это все на слова, и знаки препинания. Затем вы просто основываясь на потоке лексем формируете новую строку. А можно при помощи регулярок с последующим анализом вхождений.
Можно заменять несколько раз все двойные знаки препинания на одиночные до отсутствия вхождения. Анализировать точки и последующие слова. Тут просто описывается свод правил, под каждое правило свой алгоритм.
А последняя скобочка по правилам пунктуации верна?