Not based on existing branches but you can push in an empty branch using a completely new unrelated repository. Try out the following test instructions
Creating the original repo for the test
cd ~/Desktop/test
mkdir original_repo && cd original_repo
git init && touch testfile && git add . && git commit -m "master repo"
cd ..
Create a new empty repo
mkdir hacky_repo && cd hacky_repo
git init && touch init && git add . && git commit -m "empty new repo"
Add the original repo as a remote to this repo
git remote add original ../original_repo/
And now push the branch from this repo to the orignal repo
git push original master:some_new_branch
cd ../original_repo
If now you do a git branch - you should have the new branch there in your original repo.
$) git branch
* master
some_new_branch
The assumption here is that you know in advance which all branches / branch namespace are free.