AFAIK wading pools are the most effective at washing dwarfs off. However, pets seem to be unwashable and result in your fortress becoming recontaminated. Or if they pass through the wading pool/shower shortly after a dwarf they may act as a sponge and collect all the contaminants which are then unable to be removed (while keeping the pet alive )
Wading pools are great at cleaning off everything, including pets and even items carried by dwarves, like bloody axes. Everything that goes through a wading pool gets a coating of water, and that coating of water evaporates on its own shortly after leaving the creature and items clean. I use them in my fortress.
What the wading pool will
not do is remove blood from the floor. To get the dwarves to do this you will need to have a meeting zone near the wading pool, because dwarves seem eager to clean things up next to the meeting zone. If its far away they will ignore the blood forever, or until a dwarf decides to clean it for some reason. I have no idea what triggers it. Its just that your odds of someone cleaning it are vastly improved the closer it is to a meeting zone.
All you need is a ramp down and then ramp up next to each other in a major walkway, like on the way to your dining room. Fill it with 2/7 or 3/7 water using buckets. It will not evaporate and will not interrupt pathing.
Blood is removed from any creature that walks through the water and dumped onto the floor. From there you just need to hope a dwarf cleans up the mess from the floor before it gets spread around.