I would agree with your last guess: In addition to the existing fan clutch probably slipping excessively; replacement clutches are made in various degrees of stiffness. A standard duty clutch would be biased towards low fan noise and low fan speed. For maximum cooling, I would suggest either replacing the fan clutch with a solid fan with flexible blades, and a spacer to move the fan closer to the radiator, or installing a heavy duty fan clutch (either with a stock fan, or with a flexible blade heavy duty fan). Sumit Racing carries a complete selection of flexible blade fans. Because your truck has a serpentine belt fan drive; the fan rotates in the opposite direction of a normal fan. So most aftermarket solid fans could not be used on this vehicle. But Flex-a-lite makes a reverse rotation 1500 series Flex Fan; which would be the most effective option for this problem. Go to (www.summitracing.com) for more details.
A top quality heavy duty fan clutch for your truck is available as Beck Arnley # 1300154 for $108.79 plus shipping from (www.rockauto.com).
Some vehicles originally came with a fan shroud that encircled the fan. This shroud greatly enhances air flow through the radiator. But if your vehicle originally came with a fan shroud, which was later removed; the cooling would be reduced. Fan shrouds can also be added to most vehicles; by adapting one from another model found at a salvage yard.
Since it takes 20 minutes to get hot; that doesn't sound like a leaking head gasket to me. But it could be that there was trapped air in the cooling system; which then came out and created a low coolant level in the radiator (while the level in the reservior still looks OK because the siphon action between the rad and the reservoir was broken by the trapped air). So I would pull the radiator cap while the engine is cold, and check and top up the coolant until it is absolutely full. Another thing you could do is to replace the stock 180 degree thermostat with an optional 170 degree unit. This will definitely help. And the third thing I'd suggest is to check and reset the ignition timing; and make sure to disable the electronic advance circuit before doing so (by following the factory instructions about jumpering the check connector or whatever they do to disable the electronic advance). If you adjust the timing without disabling the electronic advance; the timing will come out too far retarded; and this will make the motor gradually get hot as it is driven.