This notion that freighter, ferries, etc. won't change course for anything certainly hasn't been my experience. I've found that 90% of them do a great job of following the rules. For example, I've passed between the two crossing ferries in various places in the PNW, and they always do what they are supposed to do. I give way to the stand-on ferry, and the other gives way to me. I've called them on various occasions to confirm their intentions, and it's always as expected.
What I think a lot of people confuse is when large vessels are operating in a VTS lane system of some sort. Where there is a traffic separation scheme, participating vessels are required to stay in the lanes, and non-participating vessels are required to stay clear. In other words participating vessels are always stand-on relative to non-participating vessels who are always give-way. And that includes boats under sail.