Okay, you've knuckled under and decided that the only course is to follow the rules. There's a little gotcha, and this gotcha is, again, nonintuitive. Look at the files you include that reside the ./libraries directory. There are none. They are all directories. Yet, you include files in your source. The files you include reside in one of those directories, and you refer to them as if they were all in one directory. Aside from name space collisions that can take place, finding the right place for your files takes a little more. So, you will have to follow the rules, again: To get an isolated path for your files, you have to go one level deeper.
For example, suppose I have a library file "test.hpp". If I want to use it, I have to place it in a directory I created. (Remember, you files under ./libraries are accessed one relative level up, "../".) So, I create a directory "./locallibs" under "./libraries". You would expect that from there I can use #include "locallibs/test.hpp". Sorry, doesn't work that way. It is visible as if the directory didn't exist, because all the contents of those directories are flattened. The purpose of using directories is to organize and to avoid name space collisions. Therefore, to do it properly, you have to add yet another directory "mylib" ("./libraries/locallibs/mylib"). NOW, you can use #include "locallibs/mylib/test.hpp", I recommend using <> instead.
In conclusion there is no clean way of making your own tree of tools in a nearby directory. The only course is to commit your work in the Arduino library and be aware of those rules as well.