You should have started earlier.
要点解析1:这句话使用了虚拟语气,是情态动词should的虚拟语气用法,这个用法是should + have done,表示“过去本应该做的事情但是没有做”。
要点解析2:start这个词语是不能用于现在完成时态中的,这里的have started是情态动词should的虚拟语气用法,所以,不要认为这里出现语病。