* Foolishness is about lack of wisdom or judgment.
* Cruelty is about inflicting pain or suffering.
You could use separate abstract nouns:
* Foolishness for the lack of intelligence.
* Cruelty for the act of inflicting pain.
You could also use more nuanced abstract nouns depending on the specific context:
* Stupidity for a more blunt lack of intelligence.
* Thoughtlessness for a lack of consideration for others.
* Malevolence for a malicious intent to harm.
* Sadism for pleasure derived from inflicting pain.
Ultimately, the best abstract noun depends on the specific situation and the nuanced meaning you want to convey.