Hola future21
Lógico que te salgan de distinto tamaño, si utilizas %x y %y no es lo mismo el 50% de una pantalla de 320 que de una de 680, en un caso te lo posicionará en la 160 y en el otro en la 340, y eso lo mismo si los dimensionas.
No se como estas haciendolo con dip, por que a mi me funciona, cuenta que DIP es Píxeles Independientes del Dispositivo, por lo tanto es la mejor forma de dimensionar objetos. Pero claro, si trabajas con una tablet y haces un boton muy grande, este tambien lo será en una pantalla pequeña por lo que puede que se salga. Siempre te queda la opcion de mirar el tamaño del dispositivo y actuar en consecuencia.
Yo te recomendaria que los paneles o los scroll que quieras que ocupen toda la tantalla los hagas con x% Y%, y luego los objetos pequeños con dip.
Tambien puedes ver un ejemplo de autoescalado aqui:
http://www.b4x.com/android/forum/threads/autoscale-code-module.23750/#content
Saludos