Preheat the oven to 180°C and line 2 muffin tins with medium paper liners.
Sift the flour, sugar, baking powder, baking soda and salt into a large bowl. In a separate bowl, whisk the almond or soy milk with the oil, lemon juice and vanilla. Make a well in the centre of the flour and pour in the liquids. Whisk vigorously until well-blended (the batter will be quite fluid). Pour the batter into the paper-lined muffin tins, filling the cups two-thirds.
Bake the cupcakes for about 25 minutes, until a tester inserted in the centre of one comes out clean. Let the cupcakes cool in the tin, and then remove before frosting.
Beat the margarine with 2 cups of the icing sugar until blended, then beat in the almond or soy milk and the vanilla. Add the remaining 2 cups of icing sugar and beat until the frosting is smooth and fluffy. Pipe or spread the frosting onto the cupcakes and store at room temperature.
The cupcakes will keep in an airtight container for up to 2 days.
NOTE: While many cake and cupcake recipes call for a fair bit of sugar, this recipe does require more than the average. The sugar adds more than just sweetness here. Since the recipe is egg-free, the sugar also adds moisture and tenderness. With less sugar, the cupcakes would be dry and crumbly.