My friend said it’s better to just disinherit my child with special needs, so my child would not get disqualified from benefits. Is that best?

No.  You can leave your child money without disqualifying them from benefits, if you leave it to them through a special needs trust.