a) voy/han cerrado (this is what I thought it was because I didn't think you could have "fui a..." as a form, but then it doesn't make sense because it goes from future tense to past)
Future tense... from a past perspective, not a present one: "Fui a" is still a past form (preterite, to be precise). Besides, the commercial stores had closed BEFORE you were going to go there, so there are no tense problems here. Even in English is the same:
I went there to buy, but the commercial stores had closed (already)
"Went to buy" refers to the future... from the past.