IMO this is a flaw in the Arduino design, there appears to have been no thought about pin clashes with multiple shields, or at least nothing done to handle it.
Trouble is an addressing scheme would make things more complicated and require tristate buffers on shields etc.
Some manufactures allow jumpering of the pins they need and that helps, but in general if two shields clash you're out of luck.
You can check by going to shieldlist.org
but that doesn't fix the fundamental problem.
I haven't seen this raise many times (if at all) so I assume most people only use 1 or 2 shields and/or are lucky.