This is a tough situation - and you can't really control what they are going to do, if they want to be difficult about it when someone calls them then they are going to do so one way or another. Any legal action for defamation or whatever is a) not going to make them give you a good reference (they can always just refuse to give one) and b) is going to take a while and your need for a job is probably more immediate than that.
What might be a better strategy would be to get in touch with people that you worked with there with whom you are still on good terms and ask them if they would mind being a reference for you. If someone (let's call them Joe) agrees to do this then when you are next engaging with a potential employer you can explain the situation that you've had problems with this employer during previous reference checks but that if they would like to contact Joe directly he would be able to provide a reference for you.
If you can't get a person such as "Joe" (and I'd be surprised if there wasn't someone who would speak well of you - even if it was a peer rather than a superior) then all you can do is be up front with the potential employer
Just to let you know my last employer and I didn't part on good terms after they disputed my FMLA and I've been made aware that they are giving me bad references when potential employers call.
It's not great but the fact that you are being up front about it will help and may incline them towards taking your side of the story into account. If nothing else getting your version of events across first will help as they will be bearing that in mind when they talk to the previous employer rather than automatically taking it at face value.