Why don't short runways use ramps for takeoff?
V1.

There are other valid reasons, as have been listed - cost, bidirectional runway use, etc. These would still not completely disqualify ramps, just limit them to very special circumstances. But the one disqualifying factor is that a ski jump takeoff removes the necessary element of safety airliners depend on during takeoff.

Up to a certain airspeed, called V1, an aircraft on a sufficiently sized flat runway can decide to abort. Using all available means, mostly brakes, an aircraft can halt its takeoff run and stop by the end of the runway. With a ski jump takeoff, you don't get that luxury - go off the ramp too slow and you fall off the end, nose first into the ground. 

This is not a concern for carrier takeoffs. Every takeoff or landing on a carrier is a close call as it is. There's no spare runway for second thoughts. If things go wrong enough, the pilot has to pull the eject handle before he plunges into the water. In that situation, a ramp adds safety, giving a few more seconds on that ballistic trajectory. 

So ski jump ramps are used on carriers that don't have much more expensive and complicated catapults. They are extremely effective there; just a 3 meter tall ramp can cut the takeoff roll in half for a fighter. But this comes at the cost of committing to it completely, do or die (which is the case on carriers anyway). 

Since there's no eject handle on airliners, every takeoff has to be a safe one. This means being able to abort the takeoff if you develop a problem on the runway, such as your engines not spinning up to takeoff thrust. 

The only way you could get a safe enough V1 with a ski jump is by having a runway of normal length, and then some, before the ramp, which removes the whole point of installing a ramp. You'd never reach it except on aborted takeoffs.