The bond length, intermolecular forces, and molecular shape all determine the lattice structure, which in turn determines the density of the substance. Thus, with a small enough bond length, solids can be more dense than liquids due to a much more tight lattice structure.
Water is somewhat unique in its densities due to its bent molecular geometry. Most other substances tend to flow away from each other in their liquid form due to their kinetic energy, but when they become solid they don't have enough kinetic energy to move away from each other, making them closer to each other and thus denser in solid form. However, the attraction between water molecules causes them to use their kinetic energy while in a liquid state to get closer to each other. However, there are two lone electron pairs that belong to the oxygen atom in a water molecule, and when water becomes a solid, it no longer has enough kinetic energy to counter the lone electron pairs' repulsions, so the water molecules in ice are slightly farther away due to the repulsion, thus making ice less dense than liquid water. There are other molecules that are like water: more dense in their liquid form than solid form.
As an extra note, you said that hydrogen intermolecular forces are stronger than other intermolecular forces, but we should acknowledge that hydrogen intermolecular forces are weaker than ion-dipole and ion-ion intermolecular forces, explaining why things such as saltwater (ion-dipole) and table salt (ion-ion) have higher densities than water.