I think 18 could be feasible.
Australia and Monaco are the only ones officially canceled at the moment. That's at least 20/22 races left.
Of the remaining 13 races not postponed yet, 12 are on permanent tracks that likely won't need that much time to prepare for a race weekend, since I'd expect most if not all of them to happen behind closed doors. Singapore is the only street circuit not postponed/canceled, I'd say it's a toss up at this point based on how things play out over there.
7 races are already postponed, but most can fit into the calendar later with some maneuvering. I'd say due to logistics it's highly likely Bahrain will be pushed to right before Abu Dhabi, China somewhere around Russia/Japan, and Spain and Zandvoort are also permanent tracks so depending on their schedule they could also be moved around the calendar. That's at least already 16 races.
Baku also doesn't seem too feasible to me because of setup times, whereas in Montreal they're on an island, mostly just depends on scheduling/weather imo. I won't be surprised if/when Vietnam gets cut from this year's calendar, it sounded like they could use the extra year.
I think it'll be crucial the calendar gets extended at least another two or three weeks too. Depending on Montreal, Singapore, and Hanoi, 18 races is certainly a possibility. This doesn't really account for how the world ends up dealing with the current situation over the next few months, so who knows. I wouldn't expect to see much if any spectators at any of these races though.