Make the cake: Preheat the oven to 350 degrees F. Coat two 9-inch-round cake pans with cooking spray; line the bottoms with parchment paper. Spread the walnuts on a rimmed baking sheet and bake until lightly toasted, about 5 minutes. Let cool, then finely chop.
Sift the flour, baking powder, baking soda, ground ginger, cinnamon, allspice, nutmeg and salt onto a large piece of parchment (or into a medium bowl). Beat the granulated sugar, brown sugar and vegetable oil in a large bowl with a mixer on medium speed until smooth, about 1 minute. Increase the speed to medium high and add the eggs, one at a time; beat until light and smooth, about 2 minutes. Reduce the mixer speed to low; add the applesauce, orange zest and vanilla and beat until just smooth. Gradually add the flour mixture and beat until just combined. Add the carrots and 3/4 cup walnuts and beat until just combined.
Divide the batter between the prepared pans. Bake until a toothpick inserted into the center comes out clean, about 35 minutes. Transfer to a rack and let cool 10 minutes in the pans, then remove to the rack to cool completely; remove the parchment. (The cake layers can be made a day ahead; let cool completely, then wrap in plastic wrap.)
Make the frosting: Peel the ginger and grate onto a piece of cheesecloth. Wrap in the cheesecloth and squeeze the juice into a small bowl (you should get about 1 tablespoon). Add the orange juice and vanilla to the bowl. Beat the cream cheese and butter in a large bowl with a mixer on medium-high speed until smooth, about 2 minutes. Beat in the juice mixture. Reduce the mixer speed to low and gradually beat in the confectioners' sugar. Increase the mixer speed to high and beat until smooth, about 2 more minutes.
Place 1 cake layer on a platter, rounded-side down. Spread with 1 cup frosting, then top with the second cake layer, rounded-side down. Cover the top and sides with the remaining frosting. Press the remaining walnuts into the sides of the cake. Refrigerate at least 1 hour before serving.