When the Machamp's moves are all fighting-type, Alakazam is one of the best Pokemon to beat Machamp. While decreasing the damage of fighting-type moves, Alakazam's psychic-type moves are super effective against Machamp.
The combination of Psycho Cut and Psychic is the best for Alakazam to beat Machamp based on based on DPS and EPS.
Psychic-type Pokemon Since Alakazam is not easy to get, a player may use other psychic-type Pokemon, such as Hypno and Exeggutor, to beat Machamp.
Flying-type Pokemon Since Golbat, a flying-type Pokemon also cut the damage of fighting-type moves, it can be one of the options. To beat Machamp, the combination of Wing Attack and Air Cutter is the best moveset for Golbat. Note that dual-type Pokemons such as Pidgeot and Fearow are damaged as usual by fighting-type moves, because they have additional normal-type.
Fairy-type Pokemon Since Clefable and Wigglytuff have additional normal-type, they cannot cut the damage of fighting-type moves. However, their fairy-type charge moves are super effective against Machamp.
The combination of Bullet Punch and Cross Chop is said as the best moveset for Macahamp as a defender.
When the Machamp's moveset is the combination of a steel-type move and a fighting-type move (Bullet Punch is a steel-type fast move), Slowbro is one of the optimal Pokemon to fight against Machamp. Those moves are not very effective against Slowbro (steel-type moves are not very effective against a water-type Pokemon). On the other hand, Slowbro can attack an opponents with psychic-type moves.
Even though Slowbro can use Confusion, a psychic-type fast move super effective against Machamp, Water Gun can be better than that based on EPS and DPS.
When the Machamp's moveset is a combination of fighting- and rock-type moves, psychic-type Pokemons may work better than others. There are no Pokemon which both fighting- and rock-type are not very effective against to.