Is there a way to include an assertion about the expected number of rows?
It is not an assert, but you can just have the query return the empty string (rather than NULL) when there is no match:

... AT TIME ZONE ((SELECT timezone FROM timezone union select '' limit 1))


when invoked with empty timezone query gives:

ERROR:  time zone "" not recognized