I use Auralex Mopads for my centre speaker which sits ontop my TV cabinet. They do help, but aren't as good as dedicated weighted speaker stands. Because much of the centre channel is dialogue on a typical movie, the bass isn't too much anyway. And I think it would be bass that could be your biggest problem siting a speaker ontop a cabinet.
Floorstanders aren't always 3-year old proof either though. Some (including my old Monitor Audio Radius floorstanders), could easily be toppled over by a child. And from a practical point of view, I'd avoid anything with a piano finish. It's just asking for it really.
Personally if I were in your situation, my priority would be keeping both speakers AND wires well away from child's arms' length. All children have an inbuilt danger-magnet that identifies the most dangerous and potentially expensive areas of the room within nanoseconds and compels them to travel towards it at speed. It's a known fact, apparently.
If I were locating speakers ontop a cabinet, I'd avoid anything too bassy that might react badly. Obviously you haven't talked about specific models or budget, but Neat Iotas not only sound fantastic, look good and tend to be "significant-other-friendly", they're also easy to put ontop a cabinet, aren't too bassy (but have a super midrange to counteract this) and can even be discreetly wall-mounted too.
I appreciate your comments about decorating, but sonically and child-wise, wall-mounted Neat Iotas would be my own preference.