At a past job, we basically did "both" - we'd store our best guess at a normalized address, and we'd store the text representation. For stuff like shipping labels, we'd use the text. For analytics, we'd lean on our best-guess normalization (and understand that there's some potentially significant error).
You can also lean on various APIs to normalize, but nothing that I'm aware of does this well on a global scale.
You can also lean on various APIs to normalize, but nothing that I'm aware of does this well on a global scale.