What determines the shape-holding ability of cookies? What things can you vary to make cookies hold their shape better during cooking, and not spread out like a pancake?  From my experimenting, the initial temperature of the dough before cooking seems to make a difference - refrigerated dough spreads less than room temperature.  What else can I do without making the cookies too dry? (Obviously if I add enough flour, the cookies will hold their shape, but at the cost of ending up with hard, dry bricks).

Does trying different fats like butter/shortening/margarine make a big difference?  Is it worth buying heavier pans?
Cookies really only spread out because of their fat content: when it gets warm it flows, and if it flows too much before the glutens start binding to give it structure, you get flat cookie. So, in this case, if the dough is colder at the start the fat stays stable longer, and lets the cookie set up.

You can try experimenting with your fats: maybe butter instead of crisco, or vice versa. Lot of vegan types will roll in some banana to counteract the lack of eggs and animal fats. Or you could maybe add some more egg?