As far as I've tested MITM with ettercap I've never found an home router that prevented ARP spoofing, however I haven't a broad experience 'cause I'm only an amateur (forgive me for my bad english too).
I did some googling and I found these, it shows that it is possible to mitigate an ARP spoofing attack in well determined conditions, so it could be that some router implements such features but I don't think so not by now and not if your router isn't brand new XD
As I found in this paper(see scenario 3) from cisco systems, they developed something called ARP inspection (described in an human-readable form here in their blog). It seems to be something similar to your scenario (if I understood well): as they say in the blog, enabling ARP inspection will make the router drop strange ARP replies, but I think it's not your case 'cause I don't think you used professional routers such the one of the cisco's demo. In addition they talk about static ARP tables and again I don't think it's your case.
Answering your last question i think ARPSpoof and Ettercap are the best ones, I didn't searched for others 'cause it Always worked with them, but I think that if you google around for a while you'll find something...
If you find somethink keep me up to date! I'm interested in this topic too!