Sure, but, just spitballing here, could a substantial fraction of imported code benefit even with a very conservative heuristic?
In any case, given your points, it seems like a future Python version ought to introduce a new version of the import statement with lazy semantics (which, besides eliminating dead code, is also IMO the more correct/explicit behavior when importing symbols).