I'm a little confused about adding and removing secondaries - that
doesn't really have anything to do with scaling (sharding is the way
to scale MongoDB - replica sets are primarily for high availability,
automatic failover, etc).
I think of adding and removing replica nodes are a relatively
infrequent operation, but even then, I would expect that you would use
priority scores if you have a preference that primary is always one of
certain subset of servers.
I understand that you to be able to remove a secondary from
configuration without forcing an election, but I suspect that this is
a lot trickier than additive change (since a freshly added node cannot
be immediately eligible for primary, for example, but removing a node
could change who is eligible to be a primary).
I'm quite certain that rs.remove() always forced an election - but
there is a ticket for the functionality you are asking for - it's
https://jira.mongodb.org/browse/SERVER-5788 you should add your
comments there as well as voting for it, so that it will get
prioritized accordingly.
Asya