how to avoid duplicated column in two different tables?
I think that you incorrectly identified relationship between users and user_profiles;  I usually see it's either 1:0..1 (user can -but doesn't have to- have at most one profile) or 1:0..n(user can have many profiles). Surely, if it's really 1:1 in your system, it makes sense to get rid of user_profiles and add nickname to users.

There is nothing wrong with having join in the query, as dezso mentioned in comments, it's RDMS main purpose and responsibility to perform such operations in fast and reliable way.
Also, in my understanding there are just very few places in the system where you need to retrieve information from user_profiles; normally you just display basic information from users.   

Finally, if it's 1:0..1 relationship, there is absolutely no need in user_profiles.id column - user_profiles.user_id should be primary key and foreign key to users.