There are things scriptSig can do that witness cannot today - specifically add
additional conditions under the signature. We can always obsolete scriptSig
later, after segwit has provided an alternative way to do this.
I'm not sure what you are referring to here. The data in the scriptSigs are never signed. The scriptSigs are always stripped from the transaction before the sigHash is made.