this is quite weird. This code compiles fine. However, in my original score it doesn't work. After some more experimenting, I figured out that the problem is, that I have the \RemoveEmptyStaves in the \Staff context. After removing that, it compiled just fine. Maybe it's some bug. Anyway, the \RemoveEmptyStaves is not that important for this particular score, so I disabled it.
Could you try this with your original file? (I can't think of an example with \RemoveEmptyStaves to check it with.) The function ly:stencil-scale needs a stencil to work with (hence the error you were getting), and this variant checks to see if we have one before calling it.
\override GrandStaff.SystemStartBrace #'stencil = #(lambda (grob)
(let ((brace (ly:system-start-delimiter::print grob)))
(if (ly:stencil? brace)
(ly:stencil-scale brace 0.75 1))))
Hope this helps!
-David