Encrypting the Response only ensures that the SP knows how to decrypt it - not that they are verifying other fields, like the Audience field.
If you use a separate encryption key for each SP, then great - but you could just as easily use a separate signing key, as the article suggests, and far more SPs support this.
Of course, it is still possible the SP does not validate the signature at all, or does so erroneously.
SAML typically uses RSA-OAEP or RSA-PKCSv15 for KEM. You usually get the cert from that from the SP (since otherwise you hold the private key), so I'm not sure how that goes sideways. The SP might still use the same encryption keys for each peer, but that should be fine.
You're right that per-SP pairs are still the right answer and for the reason you point out: much wider support.
Since the encryption is typically asymmetric, you do have per-SP encryption keys, since you encrypt using the key specified in the metadata provided by the SP. On the other hand, the SP verifies the signature using the public key specified in the metadata of the IdP. So, to have per-SP signing key, you need per-SP metadata, which is an additional complication.
If you use a separate encryption key for each SP, then great - but you could just as easily use a separate signing key, as the article suggests, and far more SPs support this.
Of course, it is still possible the SP does not validate the signature at all, or does so erroneously.