Good lord, I have the exact same breed mix with the exact same 'issues'. What I have noticed is that Julia's problem is actually fear based and not due to aggression. Though she appears relatively 'secure' she actually is not at all.
The issue with smaller dogs is that having hands on with them are not that easy as they will scurry to avoid any correction. I personally am no longer agile enough to bend down quick enough to correct...impossible.
What I have done however is bring her everywhere possible to get her more comfortable in different conditions and/or scenarios. This has helped tremendously where she is less reactive.
When I have visitors, I point to her crate and she will go in now. She will however bark and when she is calm, I invite her out. She needs to build a report with visitors which means I tell people not to look at her, nor talk to her and especially not to touch her. I ask them to pretend she does not exist. In a few minutes she will approach and react much better than she did (which was to take a bite).
It is work in progress. I will have Julia for 3 years this summer and progress has been slow. My BF who is a certified trainer has made progress with her since we have united our family together..so the improvement has been noticed more so now. Even at that, we still have issues with her in regards to charging dogs outside that are not within her pack.(yes she is leashed). This is something that we are trying to continue to correct as this could be very dangerous for her and the animals within the pack during our walks outside.
I hear your pain, but do not use a shock collar on these dogs. They are very delicate physically and emotionally. This will not fix your issue in fact it will make it worse.
Honestly - I would contact a trainer to evaluate the situation and provide training tips. You may not require a behaviouralist as a good trainer can teach you tricks to divert his attention and also show you how to correct little dogs properly.