As some who's done long distance for a long time, and someone who's traveled to the US many times for long periods (literally 3 months on the day), I've got a few pointers for you.
1 - Never ever ever have someone else book travel for you. Always make sure to book flights and travel on your own credit card. Even if your parents, his parents or he himself want to pay for it just tell them to give you the money afterwards or upfront. They can immediately see that the travel was booked with someone else's credit card and you will get a second interview just based on that if you're unlucky. I'm speaking from personal experience, so never doing that again.
2 - If you have a pick, pick the opposite sex when walking to a customs officer. It sounds weird, but my fiancee and I have experimented with this and across the board it seems to smoothen things up a little bit.
3 - Carry every piece of documentation they could ever ask for. Travel itinerary, hotel stays, car rental, even print outs of plans you have like visiting specific cities or sights can help if they doubt your purpose of visiting.
4 - Tell the people/family you're visiting beforehand that they could receive a phone call from customs in the worst case scenario. Walk them through the situation and tell them a few things about what they should and should not say. I've heard of instances where this happened and the person picking up the phone playing it off like it was just a short visit, which ended up backfiring since the person in question was staying for three months.