/etc/bash.bashrc, loaded on every interactive bash session, should have this as last line:
for i in /etc/bashrc.d/*.sh /etc/bashrc.d/*.bash; do [ -r "$i" ] && . "$i"; done; unset -v i
which does moreless what your manual workaround does, but sourcing the scripts as intended.