Bitbucket doesn't do subrepos in situ. As a result, Mercurial is attempting to push every one of your repositories to the same location, and complains when you try to push the repo SubFolder2 into a remote copy of the SubFolder1 repo.
Subrepositories are ostensibly libraries that are shared between multiple projects, and therefore don't live under any one main repo but instead in their own space. Therefore, you must create separate remote repositories to house each subrepository (library) and reference that separate remote path in the .hgsub file.
For example, your example project could have three bitbucket-hosted repositories
https://bitbucket.org/bitbucketname/main_project
https://bitbucket.org/bitbucketname/library1
https://bitbucket.org/bitbucketname/library2
You want your local clone's filespace to look like this:
/MainFolder/
/MainFolder/SubFolder1
/MainFolder/SubFolder2
In your local clone of main_project (MainFolder), set the default path of the parent repository to https://bitbucket.org/bitbucketname/main_project
i.e., /MainFolder/.hg/hgrc
contains
[paths]
default = https://bitbucket.org/bitbucketname/main_project
Now, indicate the remote paths of the subrepositories/libraries in the .hgsub file. The general format of the .hgsub entries is:
local/path/to/subrepo = remote/path/to/matching/library
So your .hgsub might contain relative local and remote paths (relative to the location of the main repo locally or remotely, as the case may be):
SubFolder1 = ../library1
SubFolder2 = ../library2
or relative local paths with absolute paths to each library's remote repo:
SubFolder1 = https://bitbucket.org/bitbucketname/library1
SubFolder2 = https://bitbucket.org/bitbucketname/library2
or absolute paths for everything:
/MainFolder/SubFolder1 = https://bitbucket.org/bitbucketname/library1
/MainFolder/SubFolder2 = https://bitbucket.org/bitbucketname/library2
Now, when you push from your local main project, Mercurial knows exactly where to find all subrepositories (locally) and where to push the changes made to each library (remotely).
Additionally, let's say you want to add someone else's library to your project. Then your .hgsub might look something like this:
SubFolder1 = ../library1
SubFolder2 = ../library2
another_library = https://bitbucket.org/honkaboy/honkaboys_excellent_library