Usually when passivating the slab's bottom side with pseudohydrogen, I would optimize the structure of the bulk, cut the bulk and get the slab model, then I would add the pseudohydrogen at the midpoint of the bond between the bottom atom and the atom from the neighbor unit cell. Do I have to put the pseudohydrogen at the midpoint?
No, you don't have to put the pseudohydrogen at the mid-point of the bond. Putting it at the mid-point is an attempt to put it close to its optimal location, on the assumption that any X-H bond will be short (for a generic element X), and half of the X-X bond length is a good approximation. A simple alternative is to estimate how long the X-H bond would be, convert that to a fraction of the X-X bond, and place the pseudohydrogen that far along.
There is a significant potential problem with placing the pseudohydrogen exactly along the X-X bond: it preserves the symmetry of the bulk X-X. Most simulation programs will preserve input symmetry, either by explicitly enforcing it, or simply because the computed force will be symmetric, and hence have zero component in any symmetry-breaking direction. If you are not interested at all in the passivated face, then this may be acceptable; however, be aware that if the actual ground state of the X-H face does not have the same symmetry, then the symmetric face may be mechanically unstable. This means that if you compute phonon properties, for example, there would be large negative phonon frequencies arising from these unstable pseudohydrogen faces.
A simple method to avoiding any such symmetry issues is to add a small amount of random noise to the pseudohydrogens after you have placed them. The noise needn't be large, perhaps up to 0.05 Angstroms; just enough to break the symmetry. If the system's ground state does have the symmetry, then the forces will act to restore the symmetric geometry; if, however, the symmetric position is unstable, then the forces should be large enough to push the atoms further away and, eventually, to the correct locations.
Whatever your choice of initial positions, it is usually wise to constrain all but the surface X and H for the initial geometry optimisation, at least if the optimisation is in absolute coordinates. If you don't do this, the optimisation will create a phonon-like displacement wave which travels through the slab at a rate of one atomic layer per geometry iteration, meaning that thick slabs can take an extremely large number of iterations to converge. (This problem should not be present in optimisers using delocalised internal coordinates, or similar relational coordinates.)