Subspecialty IM services generally won't give you a good general IM exposure because they are subspecialty. Doing a medicine sub-I would be a good experience. Generally, the subspecialty services will be focused on consults and clinics. You don't manage the patients at all when consulting--you just leave your recs and see if the primary team follows up. In clinics you'll be dealing with diseases very specific to the subspecialty.
I didn't think endocrinology or ID give good general medicine exposure. Both of those services at my hospital work like I described above. I haven't done a cards rotation, but that could be more encompassing.
An intensive care rotation (MICU, CCU, pulmonary critical care) would be really good for learning management of the complete patient. You are the primary team, the patients are really sick, and multiple organ systems are frequently involved.