Как лучше сделать ссылку в списке ul li?
Первый, способ приведенный вами в вопросе, единственно верный.
Чтобы ссылка "начиналась" с <li>, не нужно <li> в CSS давать padding. Давайте его для <a>. А для того, чтобы вертикальные отступы то же сработали дайте для <a>display: block или display: inline-block.
<ul>
        <li>
           <a href="адрес_обязателен">Что-то</a>
        </li>
 </ul>