The trouble is, the problems lay in the core, writing a plugin to correct the core besides being a waste of time, would be so inefficient as to make the whole concept unworkable. 
Bgbuddy says: Moving to biggest pack.
Plugin says: No you are not, you are moving to X location.
AMD processor melts 
Bgbuddy should provide the core elements needed to perform the bg, entering/exiting, capping flags, movement, etc, the logic of the bg should be handled by .xml files. A Bg is no different to a combat routine in this regard. You perform the same tasks over and over with slight changes based on the situation and what class you are. Everything is just about there in the api, it just needs handler code to push all the logic out to file, so we can then hackup our own bg routines based on our class and the objectives of the bg. Something that really should not be all that hard to do.