I've seen scripts (self-extracting archives for Linux, for example) that checksum themselves either by some trickery, or just ignoring the first line after the shebang (which itself is the computed checksum of the rest of the file).
The problem is, the wrong party is doing the check (from a security point of view, not integrity). When we download a script from a remote domain we don't trust, we have to validate its checksum against the known one; we can't leave that to the script, which we don't trust.
But yes, if you were downloading from an untrusted mirror you would want to check the signature or trusted hash before running the script at all.