H-Bride Implementation with minimum voltage drop using Raspberry Pi
The problem with your first circuit is that the bridge transistors are wired in 'Common Emitter' mode. When a transistor is turned on its Base-Emitter junction drops ~0.6V. But the Base voltage cannot go beyond the supply rail so the Emitter cannot get closer to the supply rail than ~0.6V.  

Another issue is you don't have a resistor in series with  the LEDs to limit current, which will cause excessive current flow and even more voltage drop across the transistors.

Your second circuit is a poor attempt at configuring the bridge transistors in 'Common Emitter' mode. Both upper transistors are permanently turned on, so when a lower transistor is turned on a large current will 'shoot through' both transistors on that side. 

For the bridge to work correctly you need to turn on the upper transistor on the opposite side only. The simplest way to do this is connect the lower end of R7 to the Collector of Q2, and the lower end of R10 to the Collector of Q1. However this will only work properly if the upper transistor stays in saturation and doesn't drop more than 0.6V - otherwise the other upper transistor would start to turn on.  

To make the circuit work better when driving high current loads you can add driver transistors which invert the upper drive signals rather than using the bridge outputs to do it. Here's one way:-







simulate this circuit &ndash; Schematic created using CircuitLab

When In 1 is set high Q2 turns on and connects R1 from the Base of Q1 to the Base of Q4, turning on both both Q1 and Q4. Q5 does the same for the other side. 

Diodes D1-4 provide a path for current to flow while the magnetic field is collapsing when an inductive load (eg. motor or solenoid) is turned off. Without these diodes the transistors could get damaged by reverse voltage spikes.