While this does not fully answer your question, please note that as the case of Annahita Mazaheri demonstrates, even with a visa you may still not be allowed to visit the USA. I don't know what you can do to prevent the following from happening, just be mentally prepared.
Annahita Mazaheri is a Dutch woman born of Iranian parents. She hadn't been to Iran for over 17 years and had a valid visa for the USA, but was turned down at the gate after a short interview with US officials (on Dutch soil) in early January 2020.
And yet the impossible happened. At the last passport check before boarding, the stewardess suddenly recalled Annahita with the announcement that the US immigration service was on its way. Three men in suits appeared shortly. She had to sit at the gate and was subjected to a rapid fire of questions. "They were just questions such as where I come from and what I do in daily life. Nothing crazy. The whole time I thought I could walk on to the plane just like that," Annahita reflects.
—"Annahita krijgt duizenden reacties nadat ze op vlucht naar VS wordt geweigerd" (in Dutch), Het Parool, 2020-01-10 (translated from article)
As can be read in an article on Dutch News on the same incident, Stef Blok —the Dutch minister of Foreign Affairs— has been asked by parliament to explain why Annahita Mazaheri was barred from flying to the US, and what authority US immigration service officials have on Dutch soil.
The exact questions asked are available online (in Dutch). They show that Ankie Broekers-Knol —the Dutch state secretary for Immigration, within the department of Justice and Security— was asked questions as well. One of the questions identifies the men as US Immigration Liaison Officers.
As it transpires, Annahita had applied for an ESTA instead of a visa, for which she may not have been eligible.
Reaction American Airlines and Customs and Border Protection
American Airlines has confirmed that Annahita was refused on a flight from Schiphol to Philadelphia. A spokeswoman of American Airlines told NH Nieuws that she cannot provide any explanation for the refusal of Annahita, because the decision was made by the American Customs and Border Protection, which the airline has to follow.
Custom and Border Protection says that Annahita's background has nothing to do with the refusal. Instead of an Esta, she should have applied for a Non-immigrant visa.
—"Annahita (22) beleeft nachtmerrie: 'Geweigerd voor vlucht vanwege Iraanse afkomst'" (in Dutch), NH Nieuws, 2020-01-10 (translated from article)