Shoulder rigging question

I am new to blender trying to set up an arm rig. I am having a lot of problems so I don’t know where the problem happens or how to fix it but I will try to describe it as best as possible. The rest of the arm is fine but I am having problems with the shoulder. Mainly, I don’t know the role of the collarbone and where it should be placed and what vertices it has etc:

The first problem, shown above, is that no matter what I do the arms look weird when held straight up. I know that the collarbone goes up when you raise your arm, but it doesn’t look good here. I don’t know if this is bone placement, weight painting, topology, etc.

The second problem is the rigging. I want the collarbone to only rotate up when arm is held up, but adding it to the IK makes it look awful. However this problem kind of depends on the first one, so I will probably ask it in a separate thread if this one is solved.

I will post my blender file in case the image is not sufficient. I do not have any references of the correct behavior other than real life, the shoulder now does not rotate up in a way that looks OK - whatever range of motion creates the best illusion of how a shoulder rotates in real life is what I am looking for, I am aware computer bones do not work like real life ones but it should at least not look uncanny and I do not know how to model that correctly.

model.blend (9.25 MB)