ICMP redirect messages are limited to the subset you are on, they are not forwarded. I do not see how they create such a terrible risk.
Inside an IP subnet, there is often an implicit trust: any computer could reply to ARP request for any other IP address with his own physical address in order to receive traffic sent to another computer in the same IP subnet. This is a fundamental property of local links using the ARP protocol.
Remark: IP subnets, even on Ethernet, do not necessarily depend on the ARP protocol: another option is to make IP to physical bindings static. This is rarely done on Ethernet links because of the management burden.
By making an IP packet take an absurd route using source routing, one could waste routing bandwidth. For this to work, routers IP addresses mentioned in the source route (or "routing header") would need to be configured to accept to do the source route forwarding (this is not the default configuration).
I think the default configuration of any half decent OS will be sane. But it doesn't hurt to check.
IPv6 might have more bugs, only because:
IPv6 code is newer, IPv4 code has been stress-tested for a long time;
they are less routers configured with IPv6, less different set-ups, less exploration of every strange corner case...