For hitscan:
interp 0.033
updaterate 66
cmdrate 66
smooth 0
smooth time doesn't matter
interp ratio 1
lag compensation 1
then go into your game, join a server and turn on net graph 4. keep bumping your rate up until you start getting choke/loss and then bring it down a little.
WALL OF TEXT FOR NERDS
The reasoning for the interp is this: the command sets the delay between the server and client. 0.033 interp sets the delay to 33ms. At 66 ticks (controlled by update/cmdrates) the server updates the client 66 times per second. 1/66=0.0151. This is the time between every packet of data. By setting the interp to 0.0151, the game would be 15.1ms behind the server (1 tick) so every time the server sends info, your computer instantly uses that info to move the characters on your screen. However, because you're only delayed by 1 tick, if you lose a packet of data then you can't do anything about it and your computer is forced to extrapolate player positions which isn't very accurate. Setting the delay to 0.033 means that you're always 2 ticks behind the server (0.0151 * 2) so if you lose a packet of data, the computer can use the previous one and interpolate between the two, however the obvious disadvantage is that you're further behind the server.
Since hitscan is hit detected locally and the hit confirmation is simply sent to the server, a higher interp is better as the most important thing is the smoothness of enemy models so you can track them. However, rockets and other projectiles are not hit detected locally and use the server hitbox. This means that you need to be as up to date as possible to the happenings on the server and a lower interp provides a lower delay that allows you to achieve that.
please excuse any ttypos or anything that doesn't make sense, I just woke up and wrote this on my phone.