First of all, let's look at what the limitations are for placing objects in a rocket.
- The object must be aerodynamic, such that it does not influence the launch characteristics.
- You need to easily be able to get the objects separated from the rocket.
- The thrust must happen at the bottom, for maximum efficacy, straight down, and the center of gravity should align with the thrust/center of drag vectors..
- You don't want to overheat the satellite.
- Every launching system to date has multiple stages.
Okay, so given all of that, what are your options, aside from a satellite launch at the top, as you mentioned? There are two things of note which I will include.
- The final booster could be made in to a satellite. This is rarely done, but was done with the Explorer 1, the first US satellite. The reason this is rarely done is that for the most part, the satellite and rocket are built independently, and thus, the final rocket state can't contribute to the satellite much. In addition, this still fits the satellite being the top of the stack.
- The Space Shuttle was launched from the side. The Space Shuttle was meant to be aerodynamic, and could take the buffeting of the ride, but it would be difficult for a non-aerodynamic object like most satellites to take the force. It lost some efficiency by its design, although it was not a significant component of loss.
- Abort rockets are often placed at the top of the stack for manned spaceflight missions.
The bottom line is, putting the satellite at the top is convenient to dampen vibrations, reduce aerodynamic turbulence, improve performance, reduce heating of the spacecraft, etc. It doesn't have to be done that way, but it sure makes the design a lot easier, and there aren't any compelling cases that I'm aware of to do anything differently.