[subject] + 未免 + (太 / 有点儿 / 过于) + [adjective] + (了)
[clause],[subject] + 不免 + [verb phrase] / [adjective]
未免 and 不免 look alike and both go before the predicate, but they do different jobs. 未免 is the speaker's verdict that something goes too far: "rather too", "a bit much". 不免 says a feeling or result followed naturally from the situation: "couldn't help", "was bound to".
未免 usually comes with 太…了, 有点儿, 有些 or 过于. The criticism is there, phrased with restraint.
不免 follows a clause that gives the cause. What comes after is often a feeling – 有些担心, 感到失望 – or a slip that was likely to happen.
难免 is close to 不免 and has its own point.
Use 未免 when you are passing judgement, 不免 when you are reporting a natural response.