Boil? Ugh. No. You'll end up with rubbery dry chicken.
The problem you're having is you're using direct heat. This works for relatively small objects that are a uniform thickness. But a whole chicken is not small, nor is it uniformly thick.
So instead what you should do is roast it with indirect heat - and not too hot either.
If you're using charcoal, arrange the coals in 2 piles on either side of the grill. Put the chicken in a shallow pan, loosely tent with foil, and put the pan on the grill in the middle. This way the charcoal is not directly under the chicken and the pan and foil also acts like a bit of a heat shield.
You can use a rub and roast it, but don't add the sauce until it's basically fully cooked. Then you can remove the foil, baste it up and let it finish for the last 10-15 minutes.