Making Haskell strict-by-default would also break the rewrite engine which is the core of Haskell's high performance with functional combinators.
The whole haskell project is about allowing programmers to write code that is declarative without making concessions for performance. Laziness makes this possible because it abstracts out evaluation order and thus allows extreme optimization by the compiler