Vista de desplazamiento de Android en RelativeLayout con ButtonBar

Estoy tratando de implementar una vista de inicio de sesión donde se muestran varios EditTexts y un logotipo en la pantalla con una barra de botones en la parte inferior, algo como esto:

texto alternativo http://russellhaering.com/media/addAccount.png

El problema es que en pantallas muy pequeñas, especialmente cuando se giran hacia los lados, toda la vista principal no cabe en la pantalla.

Actualmente tengo

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#234C59"  >
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:paddingTop="5dip"
        android:paddingLeft="15dip"
        android:paddingRight="15dip"
        android:orientation="vertical" >
        <ImageView
            android:id="@+id/logo"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:scaleType="fitCenter"
            android:layout_centerHorizontal="true"
            android:src="@drawable/logo" />
        <EditText
            android:id="@+id/input_email"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dip"
            android:inputType="textEmailAddress"
            android:singleLine="true"
            android:hint="Username or email" />
        <EditText
            android:id="@+id/input_password"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop=""
            android:inputType="textPassword"
            android:singleLine="true"
            android:hint="Password" />
    </LinearLayout>
    <LinearLayout
        android:id="@+id/buttonbar_login"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal"
        style="@android:style/ButtonBar" >
        <Button
            android:id="@+id/button_signup"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Sign Up" />
        <Button
            android:id="@+id/button_login"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Log In" />
    </LinearLayout>
</RelativeLayout>

Intenté encapsular el primer LinnearLayout en un ScrollView que se ve así:

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
            <!-- Linear Layout Here -->
</ScrollView>

Pero eso introduce dos problemas:

ScrollView no se desplaza, incluso en pantallas donde no caben todos los datos

La barra de botones flota sobre el teclado en pantalla, oscureciendo aún más la pantalla cuando aparece el teclado.

Todo funcionó muy bien cuando tenía los botones dentro de ScrollView, pero ahora que los tengo en la barra de botones tengo muchos problemas para resolver esto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta