I agree with much of what you've said. Even as a power user I have experienced some of the issues you have stated including duplicate contacts when converting contact type. On the bright side, things are looking up on Ice Cream Sandwich. Unfortunately, it's not a widespread OS yet but they seem to have removed the disparity between the phone vs Google contacts that seems to be the crux of the problem.
That said, however, the problem may return when ICS is tweaked to the various manufacturers/skins, I have no idea. I'm running it on the Galaxy Nexus which is a "Google phone" so it's not hard to believe the single option to sync all contacts as Google contacts works well and negates many of the issues you've mentioned.
I guess time will tell as ICS reaches outward. Honestly, I think what we are seeing here is the dual edged sword of choice that is a pillar of the Android philosophy. Sometimes choice can confuse things but without it, many would be less satisfied overall. I understand your point though from the conceptual and engineering point of view...get it right or don't send it out the door. I get that. Unfortunately, if there is a weakness with Android, it may be integration across all competing hardware and the number of hands that are in the process from source to end user. Yet in other cases, that seems to be one of it's greatest strengths as well.