It is possible to use the LD_PRELOAD mechanism to overwrite e.g. the glibc's socket function to call bp-socket code if the BP address family is used.
The code would be similar to the daemon's code.
Maybe this could be a toggle at the installation.
Or we could write a totally new bp-socket library that exposes a single socket interface for interacting with different BPAs
The point is this allows the use of the bp-socket without having to load a kernel module, and requires to specific permissions afaik.