Relationship with a default value
For your second option, you could put a filtered unique index on:

CREATE UNIQUE INDEX ix_DefaultLocation ON dbo.Locations(EventID, IsDefault)
WHERE IsDefault = 1


This will allow unlimited non-default locations, but only one default location per event id.