ReGBA deals with hardware scaling by requesting the resolution of the screen and nothing more, disabling its border.
PocketSNES, as you know (since you coded part of that!), can re-request 256x224 or 256x239 during a game. But nothing more.
In the case of the Game Boy, you could request 160x144, let the user stretch or unstretch that with Power+A, and re-request the Super Game Boy resolution if the game submits a SGB border packet. If there is no OnSGBBorder hook in the emulator or the port files, you can just request 160x144, or higher if the user has selected a border.