For multiple carburetor engines:
Start the engine, let it warm up and ride the bike around until the engine is at its operating temperature. Synchronize the carburetors and, using the idle speed screw, adjust the idle speed to the factory recommended rpm. Use a digital tachometer to improve accuracy or if the motorcycle didn't originally come with a tachometer. Adjust the fuel screws so the CO is ~3-3.5%. If gas analysis is not available, coming from the lean side, adjust the fuel screws so that the strongest idle is achieved. You will notice there is a threshold where the mixture becomes rich enough (enough turns out) to run strongest, but beyond which no change is noticed. Adjust the fuel screws ~1/8-1/4 turn out from this threshold. Leave the mixture to the leaner side of these settings if the bike will be seeing altitudes much higher than the one it was set at. Set to the richer side if you would like the engine to idle well earlier during warm up. Re-synchronize the carburetors and adjust the idle speed back to the target rpm (as they are likely to have changed). On a twin-carburetor single cylinder engine, the fuel screws should always be set equally. In other multi-carburetor applications you have a choice of setting them individually or equally. An argument for individual cylinder adjustment is that each cylinder may have slightly different requirements. On the other hand, the effect of a mixture change on one cylinder is more difficult to accurately detect the more cylinders there are. Using individual-cylinder CO readings solves the problem. Extended fuel screws (if applicable) simplify adjustment and permit trimming on the fly at extremes in altitude.
For single carburetor engines:
The procedure is the same except that the synchronizing steps fall away.
Note: Portions of the above procedures may only be legal for closed course use. You are responsible to check and comply with your local laws.
Idle mixture adjustment-based diagnostics:
Service manuals often contain a factory recommended number of turns from lightly seated. These settings are usually provided with emissions in mind, and are therefore leaner than ideal for best idle. In general, settings best for idle end up being somewhere in the vicinity of 1/2 to 1-1/4 turns further open than the factory recommendation (which end of this spectrum it falls on depends on the zone the motorcycle was intended for). If, when set by the procedures outlined above, a fuel screw ends up outside the factory setting plus 1/2 to 1-1/4 turns range (for example, if the manual said one turn, 1-1/2 to 2-1/4 turns), this points to the carburetor (or engine) having other issues. A fuel screw needing to be opened further points to a clogged pilot jet, a missing or larger than stock pilot air bleed jet, possibly too much float height, low compression, and/or incorrect cam timing. A fuel screw needing to be closed further points to too large of a pilot jet (larger than stock, or enlarged from something having been poked through it), a clogged or smaller than stock pilot air bleed jet, hanging cold start enrichment slide (i.e. not closing all the way when the circuit is turned off), and/or fuel level too high (from incorrect float height adjustment or faulty float system).
Off idle symptoms improving from a setting that is further open than resultant from the procedures outlined in the top paragraph points to an incorrect jet needle clip position and/or possibly too much float height. Off idle symptoms improving from a setting that is further closed than resultant from the procedures outlined in the top paragraph points to a worn out needle jet, incorrect/modified jet needle, drilled slide, cut slide spring, increased slide spring preload from jet needle shimming (in the case of many but not all Mikuni CV carburetors) and/or fuel level too high (from incorrect float height adjustment or faulty float system).
Note: CV carburetors with air screws rather than fuel screws do exist, but they are relatively rare.