Sprint Zero, as the name suggests, is a sprint which seems necessary as there are needed things which need to be done before a Scrum team or Development team can start. These things could be like, talent acquisition, infrastructure setup, building product backlog, gathering information as needed related to the project.
I agree as all this is needed for the successful kickoff of a development team. These things are needs to be decided before a development team begins the work. As Mike Cohn says Project Before the Project. Before an organization begins a new initiative, someone has to think about whether that initiative should be undertaken or not.
Now as far as Scrum is concerned, Sprint Zero does not make sense. The reason it does not make sense because per Scrum, there should be a potentially shippable item at the end of the sprint. What do you think team will be able to deliver as potentially shippable by the end of the sprint zero? Now, does that mean, you can not have Sprint Zero in Scrum? You can still have it and do not have any potentially shippable item at the end of the Sprint. However, you will not be setting a nice guideline for the team per Scrum framework to deliver a potentially shippable item.