未知のクラス名を見に行くのが悪いんじゃなくて
class_existsを使う局面の意味合いを考えてみてよ

newやextendsで未知のクラスを使わないよう
未知のクラス名でないかどうか調べるためにclass_existsするわけでしょ
確実にクラスが存在するか書き手は保証を行うためにclass_existsする
なのにclass_existsのデフォルト(第2引数無し)が
autoloadを見に行くのはどう考えてもお節介でしょ
autoloadに期待しているなら書き手はclass_existsなんてしないはず
それこそnewやextendsをいきなりやってしまってautoloadに任せる

newやextendsにも引数実装しろなんて話にはならない