Compared to your time, and your market opportunity (or the loss of it), components cost nothing.
You need to keep a selection of leaded 1k, 10k 100ohm etc resistors, for debugging. You also need 100nF, 1uF etc ceramic capacitors for the same reason.
Keep track of your stock with an excel spreadsheet (or a database if you are feeling flash!) Although you have multiple projects, do not use a worksheet per project, use one monolithic worksheet, your projects will have many common components across them if you know what you're doing. Then you can sort columns by project, or by component parameters (so you can use them), or stock number (so your BOM system can use them), or quantity (to see what you need to reorder), or cost (to see where your capital is tied up in idle stock when the boss asks, or to see what you can cheaply order 1000 of), or monthly use (to see where your forward supply risks lie).
Order 1000 5x3 antistatic bags, and find suitable drawers that will fit them exactly (or the other way round). Keep components in stock number order, always.
You must have a store keeper. It doesn't matter whether it's 40% of one guy's time, or 10% of each of you, as long as you agree what it is, and keep doing it. I was the 'putting bags back into order, and refilling empty ones' guy at my last job. About once a week I'd spend 2 hours blitzing the drawers.
Take components out of the system spreadsheet first, then components. Search for cap value, voltage value, package, tolerance on the spreadsheet, then find the stock number, then pull the component. You then don't have to worry whether you sort components by project, or voltage, or resistance, or type. Data first then stock is also much more likely to spot a discrepancy between stock and record, than if you just grab a component from stock.
Keep a minimum of 10x components for every active project. You never know when you might need to resource a prototype quantity, or a sudden order.