Ser is used when the adjective is thought to represent the "soul" of the noun. Estar is used when it's not that deep.
John is at the club. The "makers of the Spanish language" did not think that the location of a person represents his soul, that is, it doesn't really affect WHO the person is as a person.
The party is at the club. The "makes of the Spanish language" did think that the location of a party or event does represent the "soul" of the event. A party being at McDonalds greatly affects the kind of party it can be versus the party being at the club. Whereas the mere fact the John is at the club is not thought to have a sufficient effect on the kind of person John is.