For example you could use 10 static locals inside a group, when only just that group uses them, and they never appear anywhere else in the event system, and the variables themselves are close to where they are used. I think this is an under-used feature and would do a lot to solve the "global overload" problem..
That's exactly the point and I have mentioned that in my article as well. Whenever it is possible you should encapsulate your project as much as you can. The code architecture is crucial in development, especially for big projects.
Then if you still need some variables with global reach the Globals plugin comes handy.
— you are free to use any of my free plugins in your commercial and non-commercial projects without any restrictions. You are also not obligated to credit me or something - it's fully free.