Regarding question 1,
You're going to have to decide on one or the other. Here is the situation: in any multiplayer game where there is latency, given a moving object, where any person currently is, is not where any other person sees he is.
So you have to pick. If PlayerA is shooting PlayerB, does PlayerA aim where he sees PlayerB on his own screen (commonly used), or where PlayerB actually is by leading the visible player and shooting at the empty space ahead of what they see depending on their ping. You can't have both at the same time!
There is a third case that is highly not recommended, where you try to show PlayerA where PlayerB will be X ms in the future based on ping by guessing where PlayerB is going. But if PlayerB actually changed direction, PlayerA wouldn't know until later and PlayerB would teleport on PlayerA's screen. Also you'll still have the problem with PlayerA shooting and expecting to hit where PlayerB wasn't actually was, and then you'll have to decide again to register the hit or not.
Resources for reading:
Half life: developer.valvesoftware.com/wiki/Latency_Compensating_Methods_in_Client/Server_In-game_Protocol_Design_and_Optimization
This isn't an FPS, but an MMO bullet hell which made some interesting choices regarding lag that are not "standard"
A Video from GDC a while back
Last but not least
Honestly, the Construct manual page is one of the best ones out there. You'll notice all the different developers talk about the same concepts over and over again, and the manual gives a very good summary. Regardless, there is no "simple" way to describe it all, so I recommend just reading over and over again until it makes sense and you can understand it and you won't be a n00b anymore. While the concepts are all the same, each person would present it differently so as you go through the links maybe you'll find one that clicks with you the most.