The Shulker only has a radius on it's x and y axis and not the z axis when using something like @e[type=Shulker,r=5]. Well at least the top. I don't know if this was intentional but just throwing it out there. Maybe the Shulker can't see or attack you from the top?
Fixed somewhere between 15w32a and 15w44b, shulkers now even attack players on top of them.