My 8yo boy has gotten much nicer after 8 months of Brazilian Jiu-Jitsu (BJJ) training. Before he was in trouble for fighting at school, he was rude to his grandma, and just generally unpleasant.
Now he makes his grandma happy, and is fun to be around. Well worth the $250 a month I pay.
I think martial arts is worth a shot if you are trying to improve your kids kindness. Why does learning how to fight make you kinder? Could be because if you are mean to a more experienced training partner you quickly get your ass handed to you. Could be because boys just need to wrestle. Could be the student creed they recite at the beginning of each lesson. Anyway, I can't argue with results.