iOS SDK object to represent a place
You're trying to solve a solved problem.

Just use CLPlacemark out of Core Location.  It has already solved all the problems you've brought up in your question: how to handle international addresses, what all the necessary fields are, how to handle missing fields, and how to interop with Swift.

Worse case scenario, if CLPlacemark isn't quite what you need, you can either subclass it or model your place object closely around this object.