Shanks is Luffy's enemy and a competitor for One Piece. Villainy is not antagonism. Thats how this works:
And no, Oda isnt having Kid defeat literally the oldest character in the series sans Luffy, the same character who is an endgoal for Luffy. And the same character who is featured on every single ToC of a volume since the beginning of the narrative.