Use the same weapon for weeks to get used to the speed of it's projectiles. You need to know where to aim (at different distances), if in theory you would know where your enemy is next.
Good start is Soldier/Commander with E-11.
On long range a general rule is to always aim at the height of the enemy's head while he is crouching, so you will always have a height that hits when he is not jumping. (ARC's aren't crouching much, there you can aim higher)
Then you have to pick one side of the enemy where you aim next to him. The distance of your crosshair to your target depends on your weapon's projectile speed and if he's crouching, walking or running. It's basically a coinflip guess, but there are moments where you can increase the chances.
What i mean by that is, that even the best players tend to fall back into familiar movement patterns, especially if a fight takes longer. Some are as basic as just crouching left,right,left at the exact same distance (Good ol' Ben loves that move =)) . You need to recognize those patterns before they realize they are doing one and instantly adjust your aim to the same pattern. (or shoot in the middle if they are tapping a,d,a,d,a very fast)
On mid range there usually is more running involved, so you can aim at head height while they are standing. Otherwise it's pretty similar.
On short range you are probably fine with aiming at your target in the current patch. You can also focus only on your movement and spread your bullets somewhat in your target's direction.
Players with weapons that always aim accurately (Pistols,Manda EE-3, ARC M5) tend to fall back into movement patters way less and have a big advantage over you in long range fights, so it's better to only pick short range fights vs them.