Unfortunately not. The only way to determine if a domain is available or not, is via a whois call. You cannot use alternative ways such as DNS because even if the domain doesn't resolve it doesn't mean it is available.
The major problem is exactly that one: every server can responds with a completely different string. If you really want to do it right, you have to collect all different strings or test against a large set of possibilities.
I'm the author of the Ruby whois library. So far, it's the only open source library that provides specs and parsers for every single response. Check it out, you can use it directly or get all the different responses from there, the code is open source.
Also keep in mind that if you don't want to deal with that, there are services you can use to check a domain availability.
Here's a few:
Disclaimer: I'm the author of RoboWhois.