B3LYP is a commonly used density functional theory (DFT) method for calculating electronic properties of molecules, including UV spectra. However, like any DFT method, it has limitations.
As always in quantum chemistry. You take a good UV spectrum for a molecule close to the one you are going to study and select a method/basis combination in which it (the spectrum) is well reproduced.
The problem of HOMO-LUMO is typical not for DFT, but for quantum chemistry in general, since LUMO is a virtual orbital and has no meaning until it is populated by an electron.
The TD-DFT technique is specifically designed to calculate UV in the framework of DFT methods.
For calculating the uv spectrum, you can try range separated functional like cam-b3lyp, wB97xd etc. in td-dft approach. These type of functionals can give much reliable prediction of the uv spectrum.