If you wanted to do it without EUD's for whatever reason, which I'm sure you don't since the method rockz posted really can't be beat here, you have two main methods at your disposal (mainly throwing this out there in case someone checks this thread later trying to find this out, and has no idea what an EUD is/how to use it/doesn't want to use it/doesn't have SCM Draft/etc).
Both of these are flawed, so again, I recommend using the EUD solution already provided.
Method 1: You use Leaderboard (Control) for another unit, such as a Map Revealer, and every trigger cycle you remove all of that unit for the player and create X number of them wherever, where X is equal to the number of Extractors/Assimilators/Refineries you have. Alternatively, you can use Leaderboard (Control at Location), but Map Revealers won't work for this so you'll have to use something else.
Another alternative similar to this one is creating some unit at every Extractor/Assimilator/Refinery, and having it die when the Extractors/Assimilators/Refinery dies. You would just use Leaderboard (Control) for whatever the unit is you place at every gas-collection building. Map Revealers, though they could be used for this, would make it more complicated since you can't remove them at a location.
Flaws: Requires physical units to keep track of the buildings which will present a number of issues in many maps. Due to creating/removing units every cycle, keeping track of enough things this way could potentially cause trigger lag (though unless the whole map is geysers, I don't think this would be an issue in this particular case).
Method 2: You use Leaderboard (Points) and use something other than Custom. Every trigger cycle, you set the score to 0, and then set it to however many Extractors/Assimilators/Refineries you have.
Flaws: The score will randomly increase sometimes when it's supposed to increase normally, such as if you're using the "buildings" score, the score will jump up 50% of the time that you make a building and it will stay that way for a second, even though you're constantly resetting it. The only way this would be reliable is if you used a score that would never go up (like using Kill score in a map where you can never kill anything >_>).
Anyways, EUD answer above is the best one so yes, do that