Removing parts of a block creates a fragmentation issue. Additionally there’s not much utility in keeping incomplete blocks around, as you can’t serve those to peers.
There’s one exception though: you can serve blocks without witness data. The following pull request could be revived to implement that:
content that some node owners might not want to store on their hard drive
Something you don’t want on your harddrive could be embedded in the non-witness part of a block. E.g. Counterparty, used more recently with STAMPS, puts data in a bare multisig scriptPubKey. Even pruning won’t get this removed from your hard disk, because it’s part of the UTXO set, which is stored in the chainstate directory. And these outputs may never get spent.
A project like Utreexo would remove them from your hard disk (if that is your goal).