У меня были случаи, когда приходилось для других целей перед вставкой копировать файл и его обрабатывать. В данном случае, мне кажется, даже sed'ом можно, что-то типа
cat foo.rst | sed 's/------/=====/g' | se d 's/^^^^^^/------/g' (минусы не считал))) >> bar.rst
в инклюдах не использовать те символы для выделения заголовков, которые используются в основных файлов. Вот прям на уровне стайлгайда для коллег прибить правило. Тогда символы не смогут дублироваться, и автоопределение уровня в рамках одного документа сработает корректно
они же автоопределяемые в рамках файла. 6 то ли 7 символов, должно хватать. Кого первым в файле нашли - тот и будет первым уровнем, второй становится вторым уровнем, и т.д. Так что если у вас во внутреннем стайлгайде обычно используются, например, = - и ~ , то # и ^ можно зарезирвировать для инклюдов