You should have it like this:
1. AimIK with the spine and arm bones for aiming
2. Another AimIK with the neck and head bones (just 2 bones, don't worry about the performance).
3. LookAtIK for looking around when not aiming at anything. Blend it's ik.solver.IKPositionWeight in if you need it to look or just use LookAtController.cs (see the "Look At Controller" demo).
Make sure LookAtIK is updated first, then AimIK with spine and arm, then the head AimIK last.
So the 2 AimIK's would give you 2 targets - 1 for aiming and 1 for looking, so you can look around while aiming.
LookAtIK should only be weighed in when hot aiming any weapons, blend out the AimIK components too during that time.