If we want bitcoin to be more popular we just can't tell them to use hundreds of receiving adresses!
What you do is tell them to use a client that handles that in the background for them.
Users should never need to know or care how many addresses their client is managing for them.
Most of the desktop clients get this right - user clicks "receive bitcoins" then the client selects a new one and returns it. After that they just see a balance without needing to know or care what kinds of scripts are attached to the unspent outputs they control.