I think that the only part of the stack that Dan wants to R.I.P. is related to local arrays. I don't think that he cares about the stack consumption that is caused by keeping return addresses and passing subprogram arguments. If heavy recursion is not used, and subprogram calls are not deeply nested, this type of stack consumption is nothing to worry about.
Some compilers provide a switch for allocating local arrays on the heap if the required size is above a certain minimum, say 1 kB.