The 'Special Rules' generally come in groups of 2, the 'Rule' and its 'Parameter'. For example, Commerce would be 'Commerce, 1' for a 1 step increase in Commerce; your string above would be missing the Commerce parameter, so it would definitely screw up the Commerce thing, and possibly everything afterwards, depending on how resourceful the parsing routine happened to be. Some, like 'Comfreq' say that they ignore their parameter; I presume that you need to give it one anyway, but maybe not, depending on how user friendly the programmer chose to be. I imagine that the 'Terraform' thingi works that way too. 'Offense' and 'Defense' each take a parameter which is interpreted as a percentage of normal effectiveness, like 'Offense, 50' for a weakened offense (the + and - things are only for the 'Social' element).
All in all, I think your string would work if it looked like this:
TECH, IndEcon, COMMERCE, 1, COMMFREQ, 1, TERRAFORM, 1, DEFENSE, 150, OFFENSE, 75, UNIT, 0
I put 1's into the presumed dummy parameters for Commfreq and Terraform - It may like zeros better or even do without; you could try out various alternates if you care to.
If you look at the FactionName.txt files that the game creates for the various factions (in the main AC directory with all the other stuff), you can see many of the elements in use and see their syntax in action. Custom factions definitions also available at verious sites like the NetworkNode, etc.
Good luck and have fun with your factions.