>memcpyはそういう判断をプログラマにさせるわけで

そういう判断をした上でmemcpyを使うんだから問題ないでしょ。
コピーするときって領域が重ならない場面の方が多いと思うし。
なんでもかんでも馬鹿に合わせる必要はない。

まあ、memcpy/memmove/bcopy の中身が全部同じなんてことも
あるわけだけれども。