Что ж, немедленным решением здесь было бы поставить точку обзора перед MS.
, чтобы утверждать, что пробел предшествует:
text = "HELLO MS. I HOPE YOU HAVE NO PROBLEMS."
output = re.sub(r'(?<!\S)(MS)+[.]', 'MISTRESS', text)
print(output)
Однако для более общего решения нам, возможно, потребуется лучше понять грамматику, стоящую за какие контексты следует заменить, а какие нет.