What do people think the purpose of sports day is? It seems that for some people, its purpose is specifically to prove to kids who are good at other things that they aren't good at everything, and to take them down a peg or two.
If the purpose is to have a school day out, or get kids in the fresh air, they could have a picnic/party.
If the purpose is to have races to see who is really good, then they could have an optional sports day.
If the purpose is to make children feel that sports/exercise is fun and encourage them to carry on with it in later life, they could allow them to choose fun activities on a regular basis rather than one day of stuff they don't enjoy.
If the purpose is to teach children that losing is good for them, then they need to spend time teaching how to lose and not feel awful about yourself
If they want all children to learn to be better at sport, then they need to actively teach how to run/jump etc. on a regular basis.
Is it meant to be a moral lesson, to show children they have to do things they don't want to in life - in which case, why? and why sport? why set up a whole day that people don't enjoy just to teach them that lesson?
What is the main reason for having this one-day-a-year competition? When schools have decided what their reason is, then they can consider how to make it serve that purpose for as many children as possible, which might include making it optional for many. Of course children can't opt out of everything in life that they don't like, but why not sports day? It seems just something set up to prove that point to them, but there seems no good reason why it has to happen in this form.
And when has repeatedly coming last actually taught a child that they can't win everything? I guarantee the child already knows that. You aren't teaching them to lose gracefully or become resilient just by making it happen over and over, and increasing their hatred for the whole experience.