What is the strategy mining pool servers use (regarding difficulty)? If I understand correctly mining pool servers give miners target thresholds of lower difficulty so each miner can mine a number of 'block solutions', called shares.

For example if threshold is  0000 1000, mining pool can give each user the threshold 0100 0000, with 1000 times lower difficulty. Then every cca 1000 mined shares will give one actual mined block.

The actual target threshold in the block header stays as original as having lower difficulty in block header would invalidate original block hash and lower target threshold is communicated separately? 

Is each miner given the same difficulty?

Is client's hashing power taken into account when assigning work?
It depends on the pool. Some pool use a fixed difficulty. Some use several and allow users to choose. Some automatically set the difficulty, with the aim that each miner generates a share every few seconds.

If the difficulty is too low, network traffic is too high (and some miners, such as the antminers, cannot generate more than 40-50 shares/s, regardless of the difficulty).

If the difficulty is too high, then miners generates shares too infrequently, and it may lead to a lost of efficiency, because the job changes every 10 minutes (each time a new block is mined).