A. Modify what gets stored in user profiles, minimizing the hit on the server when a class full of kids log on at once. I ran across a TweakUI-type program that did this sort of thing for NT, but I cannot find it or its equivalent now.
B. Delete user profiles on local machines at user logout.
C. Set up seldom used, but useful programs so that they reside entirely on a network share, with NO writing to the local hard drive other than the user's temporary profile.
B. To delete cached roaming profiles each time a user logs off, follow the directions of Knowledge Base document Q274152.
C. This all depends on the software. Some must be installed on the client, some can be installed as a network-use service, and others can be installed anywhere and launched from anywhere. If software is the latter, just install it on a server then create a shortcut in each user's profile pointing back to it.
It sounds like your situation could benefit from Terminal Services, where the client systems act as remote terminals. In such a configuration, there is no return of a profile from the client to the server, no caching of data on the client and all software is centrally stored on the Terminal Service server.
This was first published in October 2002