The % in this syntax is not to indicate information about scaling, it is just a meaningless separator: "3%tsp". I'd say both "3tsp" or "3 tsp" look better.
That is highly unconvincing! Isn't the quantity a number? Have the syntax be @<ingredient>{<number> <units>}, where the units may contain spaces but not braces. You can even make the space between quantity and units optional.