If everything would be client side...
At least there wouldn't be the thing with "Where could my enemy be after x ms?"
This problem will always stay the same, no matter where you get your data packets from. If there are lags etc you never will see the enemies where they are for real like on their own screens.
The question is only how the server handles those differences. Eg, if a client tells the server: "Buhya! Headshot!", the server could just accept this information and count the kill,
OR, as we all know how it works in UT3, the server checks, calculates and says: "I'm so sorry: You should have fired 1/10 second earlyer. This was no hit - no way!".
If it was possible fot the servers to check and correct only in more severe cases, i.e. to stay more in the background, it would be great.