I personally think whether “might have been” and “may have been” can be interchangeable or not, mainly depends on the contexts. For example, in the sentence- you might have been more careful, “might” can not be replaced by “may” because “might have been” refers to a subjunctive mood, but "may have been’ does not. In contrast, in the sentence- that she may have been wrongly diagnosed…, both “may have been” and “might have been” are correct, namely, they can be interchangeable since they both refer to an assumption.