Exactly. Have a US form. If the customer selects a non-US country then switch out the state for a freeform "state/territory" field and skip the US-centric validation. All up you might need 10 lines of HTML and server side code.
This applies to US-only services too. When trying to book accomodation and flights for a US trip I have heaps of websites refuse my money because I couldn't provide a US billing address. For example it didn't occur to the brain-dead developers of the Disneyland website that tourists be from outsite the US.
The problem is developers who seem to think they know what the customer wants. I know because I've done the same thing. If you're relying on your intuition then you are almost certainly wrong.