should I denormalize for user profiles?
Normalization is not done to make reading data easier or more efficient.  Normalization is done to make changing data simpler and less risky.  It's when you insert, update or delete data that you will see the benefits of normalization.  

Therefore, if you are going to update your data much less frequently than you are going to read it, for example, if your data almost never changes, then optimizing for reading might make good sense.  However, if you are going to be adding new data and changing existing data pretty often then you will be better off with Third Normal Form (3NF) as your starting point for your database design.