Is there a more masculine way to describe a "petite" man?
Solution 1:
How to say petite to a man?
You could consider nimble, lean or light-footed. Whilst strictly not a descriptor for 'short in stature' they can easily imply this to an excusable degree - especially if looking for a roundabout way to avoid using the word petite on a man.
lean will imply thin (especially healthily so) - of containing no excess.
nimble implies agility, quick and light in movement.
There is also trim which may be suitable for suggesting "of the required size and form".
(Tom22's comment worth mentioning about using a boxing term. You could consult an entry in a table from the following: https://en.wikipedia.org/wiki/Weight_class_(boxing))
Solution 2:
I would say that the man has a small frame or is small framed. I would then go on to add other appropriate descriptors that speak of the man's other characteristics. For example, a man with a small frame can be well built, fit, muscular, well proportioned, slender, etc. You can also describe how the person moves as a way of adding to the picture.
In my opinion, in the United States, there's an unjustified bias against men with smaller build and also, women with a larger build. I think the antidote, when describing such people in writing, is to use accurate description and avoid terms that carry negative connotation.
I am curious how other cultures without this bias describe men of smaller stature.
Solution 3:
Compact is not insulting, if anything the opposite and is probably your best bet.
a compact person is physically small but looks strong (macmillan dictionary)
Many of the other suggestions imply either thin or heavily built more than short.
Solution 4:
"Bantamweight" is a small weight class in boxing and other combat sports. Hence referring to a man as a "bantam" would convey small stature along with physical toughness. In the British Army, and particularly during WW1, it was also used as a label for soldiers who were admitted to the army despite being below regulation height.