Ideally, everything would be fully initialized/ready before the browser enters normal operation. However, perhaps we should accept as fact that some items can delay availability for longer than is desired by some users in some contexts. Plus, there are items which by nature only operate after the browser has loaded a page, including those that are very infrequently used (by some users anyway). IOW, the overall application would seem to call for both "critical" and "non-critical" startup items. The nature of ABP, ABE, and similar extensions is such that they would fall in the "critical" category. Yet, we'd all likely agree that an option to make it "non-critical" would be attractive to some users. I'm not aware of Firefox directly supporting this type of switch and perhaps that is one angle that is worth pursuing. On the other hand, extension developers obviously have a significant level of control over where/when they yield or otherwise delay their own startup and other operations.