I have looked into libpostal. I'm not sure the overhead is completely necessary for my use case. Since posting I've toyed with usaddress and it seems nice. It's a python library so I've had to pull it into my project (node.js) with a child process but it seems to work very well.