Algorithm for user profiling without distinct profiles
It is not uncommon for machine learning models to employ thousands of features. I doubt your software / hardware repository contains significantly more than that so it is unlikely an issue.

Having said that, machine learning is useful if you need to generalize. You say that your input variables are going to be department, location and job_role. In such case you have three categorical and likely independent and always known features so I expect you can just look up someone with same department, role and location and create default hardware/software profile based on that. I do not see any value added by machine learning.