My heart goes out to you. Kids are so different (because the WORLD is so different) than they were (and it was) even 10 years ago. Kids still need the same things they always did, though -- a homelife that provides their basic needs (shelter, food and raiment) and LOTS of love and affirmation. (Sounds like he could really use the latter).
Does he buy his own clothes? If so, praise him for having/holding a job and learning independence. (In fact, find ANYTHING that you can praise him for!!! His tender heart, his grades, his sensitivity to [bugs, animals, babies -- whatever], his efforts to look 'neat', his strength to help you move furniture -- ANYTHING.) If he doesn't buy his own clothes, only buy for him items that YOU approve of.
Does he have friends that can come over to your house and 'hang out'? If so, make it a loving place where they can feel that they are accepted. If not, try inviting them for a home-cooked meal and get to know them -- personally. I guess what I'm saying is 'reach out' to them. They're probably all 'hurting' for whatever reasons. Your son has evidently lost his father to death. Most kids have lost a parent to divorce (or their parents were never married in the first place, and many are being raised by grandparents by default -- the parents didn't even WANT them). Can you imagine how insecure kids feel if their parents don't act like adults and have true commitment to each other and to their children? In this 'me, Me, ME' and 'anything goes' society, it's harder and harder for kids to have a secure support system that's founded on God's plan for family structure. BE part of their support system. Don't let them scare you. God has not given us the spirit of fear, but of Love and of POWER and of a sound mind. HE will do the 'changing' if you can do the 'loving'. I think your son needs to know that you love him 'AS IS', not conditionally -- only how you WISH he was . . .
Also, keep in mind as to whether his 'ways' (dress, attitude, haircuts, peircings, jewelry, make-up) will affect his life when he's 30, and 'pick your battles' accordingly. Don't sweat the small stuff (and it's just about all 'small stuff', except the attitude).
I didn't know I was going to say all that, but I hope it helps on some level . . .