Usually individual users dont have a spool limit assigned. Users are gropued into profiles e.g ETL profile, User profile etc and these profile has a spool space assigned to it. So, all users have that much max spool space assigned to them. Now, how to decide how much of spool can a profile have ? Usually, this will be done at the enterprise level and can't be generally changed. But, we had a situation in which our ETL jobs were failing with spool space error, then we had TD GSC suggest to increase the spool space.
You can check spool space used in dbqllog table for the profile and try to find a average value used. I don't have an exact idea about how to come to a final figure, but this is the way you can start exploring.