My vote would be for Imperial.
Academically, it's quite a way ahead for engineering. According to the 'THE World University Rankings', Imperial ranks 9th worldwide in the 'Engineering and Technology' subcategory, while UCL is not ranked in the top 50.
What's more, it's absolutely possible to have a good time at Imperial. Yes, it's science-focused and yes, the gender ratio isn't great, but it's full of friendly, enthusiastic people from a range of backgrounds. If I remember correctly, Imperial has one of the largest varieties of clubs and societies in the UK.